我想通過腳本創建別名,並在bash中使用它。腳本中的全球bash別名
即:
#!/bin/bash
alias mycmd="ls -la"
擊:
[email protected] ~$: ./script
[email protected] ~$: mycmd
*ls output*
當然,別名應該可以只爲一個會話(不是的.bashrc等)。 這可能嗎?不幸的是,我還沒有找到解決方案。
我想通過腳本創建別名,並在bash中使用它。腳本中的全球bash別名
即:
#!/bin/bash
alias mycmd="ls -la"
擊:
[email protected] ~$: ./script
[email protected] ~$: mycmd
*ls output*
當然,別名應該可以只爲一個會話(不是的.bashrc等)。 這可能嗎?不幸的是,我還沒有找到解決方案。
正確的方法做的是源腳本而不是運行它。
source myscript.sh
mycmd
[email protected] ~$: . ./script
[email protected] ~$: mycmd
將執行它在你的shell我相信。
創建一個腳本來完成這項工作,並把它放在你的PATH一個bin目錄(可能是$ HOME /箱):
$ echo "exec ls -la \"\[email protected]\"" > $HOME/bin/mycmd
$ chmod 555 $HOME/bin/mycmd
$
這是完全可靠的,如果你真的設置PATH,使其包括$ HOME /箱。
(當然,我們可以辯論鍵入5個字母,而不是6個字符的優點,但我想的名字是說明性的,而不是真實的。)
這是一個非常大的解決方法。 – 2010-09-16 19:57:32
@sigo:你的電話;我寧願這樣做,也不願意使用別名等新事物。我有一個別名沒有被shell設置;這爲我提供'ksh'中的'r'(用於'重複')命令。其他任何東西都是我的bin目錄中的腳本。 – 2010-09-16 20:05:30
它的工作原理,謝謝。 – 2010-09-16 19:59:09