Прежде всего, вы не используете, $
когда вы называете псевдоним. $
предназначен для расширения переменной (и нескольких других вещей, которые не имеют особого отношения к этому вопросу).
Но, во-вторых, псевдонимы работают немного как переменные, в том смысле, что они (рискуя немного упростить) просто расширяются до нескольких слов. Вы говорите, что хотите сделать myrm foo
, но это расширится до mv /home/user/Trash/* foo
, что не имеет смысла.
Простым решением было бы определить псевдоним mv -t /home/user/Trash
, который будет работать, потому что mv
поддерживает
Файл mv -t destination_dir …синтаксис как альтернатива
mv file … destination_dirсинтаксис.
Но вы можете получить большую гибкость с помощью функции оболочки. Они сочетают гибкость сценариев с (низкими) издержками псевдонимов. Например,
myrm() { mv "$@" /home/user/Trash; }
будет myrm foo
интерпретироваться как mv foo /home/user/Trash
.