在linux中登录我的帐户后 - 我可以使用我在.bash_profile文件中创建的所有别名.
但在我使用以下命令执行一个简单的脚本(setter.sh)之后:cleartool setview view_name
所有的别名都迷路了 - 这可能是因为cleartool产生了一个新的shell查询是:
如何确定当前生成的shell数量 - 我是否知道我目前处于哪个嵌套级别 - 如果脚本以产生新shell的方式工作?
如何在启动新shell后保留别名值 - 就像上面的情况一样?
如果我尝试通过添加源.bash_profile来确保.bash_profile作为脚本的一部分重新执行 - 即使那时 - 别名设置没有发生?
你应该用Google搜索.bash_profile,你会发现这.bash_profile是针对登录 shell,.bashrc是针对交互式 shell,而且shell脚本不使用它们.
在shell脚本中,更好地使用函数(您必须定义)而不是别名.
子壳的shell级别可通过SHLVL变量获得.
花点时间阅读Advanced Bash-Scripting Guide.