当作业运行时,PBS(扭矩)调度程序不会从.bash_profile加载我的别名?

时间:2013-11-26 17:27:01

标签: bash alias pbs torque

我的主目录中的.bash_profile文件中有一堆别名声明,函数,PATH添加等。我还使用PBS(扭矩)调度系统。通常情况下,一切正常,我可以从bash访问我的别名。但是,当我提交作业时,我的别名没有被加载。

我想也许.bash_profile文件在作业开始运行时没有被加载,所以在我的作业脚本中我包含了一个~/.bash_profile语句,我可以通过包含一点来确认是否正在访问该文件echo Testing!声明,但我的别名仍无效。

以下是我的.bash_profile示例:

alias tester='echo this is a test'
echo File was accessed!

以下是我的作业脚本commands.sub:

的示例
tester

但是,我总是得到这个输出:

tester: command not found
File was accessed!

任何人都可以请我提供一些建议吗?谢谢!

1 个答案:

答案 0 :(得分:3)

别名旨在用于交互式使用,默认情况下,别名扩展不会发生在非交互式shell中。你可以添加

shopt -s expand_aliases

到任何要使用任何已定义别名的脚本的开头。

但是,我不建议这样做。由于别名可以扩展为任何,因此将命令定义限制为脚本内定义或显式源文件更安全。