我想從shell腳本中設置一個適用於當前shell(我從中運行腳本的shell)的別名。別名是cd
- 進入腳本的文件夾。這裏的(不工作)腳本:如何從shell腳本設置別名?
#!/bin/bash
shopt -s expand_aliases
DIR=$(cd $(dirname "$0"); pwd) # Detect the folder of the script.
alias cdr="cd $DIR" # cd into the folder.
我很快意識到,這並沒有工作,因爲它所做的別名是相關的腳本的子shell。
然後,我試圖源文件(如在. makeAlias.sh
)。但是,這產生了一個錯誤:dirname: illegal option -- b
。
我怎樣寫一個bash腳本,使得相關的外殼(運行該腳本的外殼)的別名?
我試圖找到一個很好的鏈接爲什麼超過別名喜歡的功能,但找不到任何合理的簡潔和正確的。可能我太懶惰了。無論如何,別名有一些不幸的和輕度驚人的副作用,例如當您嘗試提供參數並且別名不需要它們時。 – tripleee