Глобальный псевдоним bash из скрипта - PullRequest
1 голос
/ 16 сентября 2010

Я хотел бы создать псевдоним по сценарию и использовать его в bash.

А именно:

#!/bin/bash
alias mycmd="ls -la"

Bash:

login@host ~$: ./script
login@host ~$: mycmd
*ls output*

Конечно,псевдоним должен быть доступен только для одного сеанса (не .bashrc и т. д.).Является ли это возможным?К сожалению, я не нашел решения.

Ответы [ 3 ]

5 голосов
/ 16 сентября 2010
login@host ~$: . ./script
login@host ~$: mycmd

Я выполню это в вашей оболочке, я верю.

3 голосов
/ 17 сентября 2010

Правильный способ сделать это - источник сценария, а не запускать его.

source myscript.sh
mycmd
1 голос
/ 16 сентября 2010

Создайте сценарий для выполнения этой работы и поместите его в каталог bin в вашем PATH (вероятно, $ HOME / bin):

$ echo "exec ls -la \"\$@\"" > $HOME/bin/mycmd
$ chmod 555 $HOME/bin/mycmd
$

Это очень надежно, если вы фактически установите PATH для включения $HOME / bin.

(Конечно, мы можем обсудить достоинства ввода 5 букв вместо 6 символов, но я предполагаю, что названия являются скорее иллюстративными, чем реальными.)

...