由于某种原因,我必须为我的 bash 添加一个别名。我添加了别名,/root/.bashrc
其中还包含以下代码:
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
新别名在控制台中使用时就像一个魅力。但是,当我执行带有此别名的脚本文件时myscript.sh
,出现command not found
错误。看来我应该告诉.sh
文件使用相同的环境,bash
但我不知道该怎么做。
答案1
别名不会被子进程继承。如果你想脚本中的别名,您可以再次在 /root/.bashrc 中获取源代码..但是,我不会这样做。我更喜欢在脚本中更加详细并使用实际的命令名称。
我认为别名更像是 shell 中的击键保护程序。这在脚本中并不是真正必要的。如果有什么不同的话,使用实际的命令可以让以后可能需要维护脚本的任何人更好地理解。