Я пытаюсь создать псевдоним для перемещения файлов и каталогов в каталог tmp . Вот что я попробовал:

alias rm='/bin/mv *.* /tmp'

Проблема в том, что когда я rm filename , я получаю сообщение об ошибке:

/bin/mv: target 'filename' is not a directory.

Я знаю, что имя файла это просто файл. Дело в том, что я хочу переместить его в указанный каталог /tmp . Может кто-нибудь мне помочь?

2 ответа2

2
alias rm='mv -t /tmp ' 

используя GNU Collection mv 8.13 в Ubuntu 12.04. Обратите внимание на пробел после /tmp .

2

Ваш псевдоним означает, что когда вы набираете «rm filename», вы действительно запускаете эту команду:

/bin/mv *.* /tmp filename

Это явно не то, что вы хотите. Я не думаю, что вы можете использовать псевдоним для этого, потому что я не думаю, что есть способ изменить порядок аргументов, передаваемых псевдониму. Вам лучше написать короткий сценарий оболочки, который выглядит примерно так:

#!/bin/sh
mv "$@" /tmp

Примечание: вы тоже не хотите *. *, Который похож на Windowsism ... который будет сопоставлять только имена файлов с точками в них. Многие имена файлов в Linux не содержат точек.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .