Filesystems
目錄中所有文件的全域別名,按文件名(副檔名,如果可用,將被省略)
在 Ubuntu 16.04 中,我有一個將近 10 個文件的目錄,每個文件都包含一個 Bash 腳本文件:
"$HOME"/myScripts/x.sh "$HOME"/myScripts/y.sh ...
而是為以下文件中的每一個文件創建近 10 個不同的別名
bashrc
:alias "$HOME"/myScripts/x.sh alias "$HOME"/myScripts/y.sh ...
有沒有辦法創建一個“全域”別名,它將保存該目錄(
"$HOME"/myScripts/
)的路徑,並讓我訪問執行每個文件,但也沒有它們的.sh
副檔名?例如,我將在控制台中執行:
x
並將
"$HOME"/myScripts/x.sh
被執行。我不會真正使用非直覺的名稱,例如
x
,它只是範例。這裡要解決的小問題是保存數量別名,簡化它們的維護。我認為,使用專用於某些軟體上下文的目錄的越多,這種方法就越方便。
更新
最後我所做的是創建一個包含許多 Bash 函式的文件,然後我獲取該文件,然後導出其中的函式:
export -f myFunc_0 myFunc_1 ...
可能有一種簡單的全球方式來導出這些,但我不知道有哪一種。
您可以將目錄添加到您的路徑中,這樣您就可以
x.sh
從任何地方鍵入而無需別名。例如
~/.bashrc
:PATH="$PATH:$HOME/myScripts"
無需副檔名,因此您只需將腳本從 重命名
x.sh
為x
.mv ~/myScripts/x.sh ~/myScripts/x
或者,您可以從腳本創建一個符號連結到路徑中的某個位置,例如
/usr/local/bin
,並將連結命名為x
。ln -s /home/user/myScripts/x.sh /usr/local/bin/x