我有一个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。
相关问题: