
我有一個bin/
下$HOME
.其中包含一些常用指令的增強版本。因此,我不希望這些命令由腳本使用,而僅用於互動式使用。
我能做的就是添加
for f in ~/bin/*
do
alias "$(basename $f)"="$f"
done
到我的~/.bash_profile
?或者有其他解決方案嗎?
答案1
您也可以將如下行新增至您的 中,這僅在您處於互動式 shell 中.bashrc
設定。PATH
if [ "$PS1" ]
then
export PATH=~/bin:$PATH
fi
答案2
您可以使用環境模組手動啟用(載入)設定所需路徑的模組
module load homebin
homebin 模組看起來像
#%Module1.0
prepend-path PATH ~/bin
答案3
這取決於您使用的 shell 和(不幸的是)哪個系統。例如,Bash 根據是用作互動式 shell 還是非互動式 shell 使用不同的啟動文件,如bash手冊。
原則上,您應該能夠添加export PATH=$HOME/bin:$PATH
到您的~/.bashrc
文件中,然後該文件將僅針對互動式非登入 shell 執行。實際上,某些系統被配置為~/.bashrc
也讀取非互動式 shell。
相關問題: