Параметры установки доступ в мульти-команды встроенного псевдоним/
Я пытаюсь создать псевдоним для команды, которая переименовывает папку, а затем закрывает ее:
alias txz='of=$1; nf=$of$(date -I); mv $of $nf; tar cJvf $nf.txz $nf --remove-files'
Вызов с помощью
txz test_folder
Я получаю ошибки
mv: missing destination file operand after ‘2014-05-14’
Try 'mv --help' for more information.
tar: 2014-05-14: Cannot stat: No such file or directory
test_folder/
test_folder/1
test_folder/2
tar: Exiting with failure status due to previous errors
Из-за нескольких команд. Если есть только одна команда (нет ;
), $1
работает.
Ps: вот команда для создания тестовой папки:
mkdir test_folder; touch test_folder/1 test_folder/2
1 ответ:
Лучше сделать его функцией, как это, поскольку псевдонимы не имеют поддержки позиционных параметров, таких как
$1, $2
и т. д.:txz() { of="$1" nf="$of"$(date -I) mv "$of" "$nf" tar cJvf "$nf.txz" "$nf" --remove-files }
Или сделать в одну строку:
txz() { of="$1"; nf="$of"$(date -I); mv "$of" "$nf"; tar cJvf "$nf.txz" "$nf" --remove-files; }