繁体   English   中英

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

[英]PBS (torque) scheduler doesn't load my aliases from .bash_profile when a job runs?

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

我想也许.bash_profile文件在作业开始运行时没有被加载,所以在我的作业脚本中我包含了一个~/.bash_profile语句,我可以通过包含一点echo Testing!来确认该文件正被访问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!

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

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

shopt -s expand_aliases

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM