Как сопоставить определенный ввод в bash с командой?

Поэтому мне было интересно, могу ли я сопоставить определенный ввод с командой в терминале gnome. Например, когда я набираю «foo» в командной оболочке, она автоматически выполняет определенную команду, например, переходит в каталог, где находится программа, и выполняет эту программу в определенной конфигурации.


person Di W.    schedule 26.08.2018    source источник


Ответы (1)


Да, это называется псевдоним:

Псевдоним Bash — это, по сути, не что иное, как сочетание клавиш, аббревиатура, средство избежать ввода длинной последовательности команд. Если, например, мы включим псевдоним lm="ls -l | more" в файл ~/.bashrc, то каждый lm [1], введенный в командной строке, будет автоматически заменен на ls -l | более. Это может сэкономить много времени на вводе в командной строке и избежать необходимости запоминать сложные комбинации команд и параметров. Установка псевдонима rm="rm -i" (интерактивный режим удаления) может избавить вас от многих проблем, так как это может предотвратить непреднамеренное удаление важных файлов.

Итак, в основном:

alias foo="cd /path/to/dir; ./myprogram; cd -"

cd - следует предложению @Cyrus - вернуть вас в каталог, из которого вы начали. Это безопаснее и ожидаемее от большинства команд, но, конечно, вы можете использовать все, что захотите.

person kabanus    schedule 26.08.2018
comment
@Cyrus Хорошее предложение, добавлено. - person kabanus; 26.08.2018