Основные сомнения в выражении echo

find dir1/ -name "file.name.[1-3]" -exec bash -c 'mv {} dir2/$(basename "{}").$(date +%Y%m%d%H%M%S)' \;
0
13.04.2018, 21:56
2 ответа

Он печатает каждый элемент, потому что вы установили переменную, а не массив. Чтобы установить массив, вам нужно будет сделать:

args=($@)
0
28.01.2020, 02:43

$@ведет себя иначе, чем обычная переменная массива без индекса, потому что $@имеет "интегрированный индекс" :Это всегда означает "все элементы".

set -- a b c
echo $@
    a b c
set -x
var=$@
    + var='a b c'
ar=(a b c)
    + ar=(a b c)
echo $ar
    + echo a
    a
1
28.01.2020, 02:43

Теги

Похожие вопросы