Linux 我可以在没有source.bash\u配置文件的情况下创建qsub吗
当我使用qsub提交一组作业时,qsub首先会获取.bash_概要文件。那么,我怎样才能在没有源文件的情况下发布作业呢 如果您能够找到如何将参数传递给bash本身,那么您要寻找的是Linux 我可以在没有source.bash\u配置文件的情况下创建qsub吗,linux,shell,cluster-computing,.bash-profile,qsub,Linux,Shell,Cluster Computing,.bash Profile,Qsub,当我使用qsub提交一组作业时,qsub首先会获取.bash_概要文件。那么,我怎样才能在没有源文件的情况下发布作业呢 如果您能够找到如何将参数传递给bash本身,那么您要寻找的是--noprofile。但我不熟悉qsub,快速浏览一下手册,它并没有告诉我如何操作。你能指定你的作业在哪个shell下运行吗?我认为有许多不同的qsub命令与不同的批处理系统相关联。告诉我们您使用的是哪个批处理系统会很有用 我记得,大多数这样的系统设置了一个或多个环境变量,您可以在.bash\u概要文件中测试这些变量
--noprofile
。但我不熟悉qsub,快速浏览一下手册,它并没有告诉我如何操作。你能指定你的作业在哪个shell下运行吗?我认为有许多不同的qsub
命令与不同的批处理系统相关联。告诉我们您使用的是哪个批处理系统会很有用
我记得,大多数这样的系统设置了一个或多个环境变量,您可以在.bash\u概要文件中测试这些变量。我使用的系统要么将$ENVIRONMENT
设置为“BATCH”
,要么将$PBS\u ENVIRONMENT
设置为“PBS\u BATCH”
。(这些可能已过时;请检查您的文档。)
您可以修改.bash\u配置文件
,以执行以下操作:
if [ "$ENVIRONMENT" != "BATCH" ] ; then
# existing code here
fi
因此,您的.bash\u配置文件仍然是源代码,但如果它在批处理环境中运行,则不会做任何事情
这很容易修改,因此某些命令仍在执行。为什么避免加载bash_配置文件对您很重要?我想编写一个供公共使用的qsub脚本,但可能是一些人的本地环境的bash_配置文件或bashrc。将与qsub作业冲突。qsub有一个选项-S“S选项允许用户指定将被调用以处理批处理作业脚本的程序(通常是shell)。”也许我可以使用“qsub-S/bin/bash--noprofile”,但是qsub无法识别/bin/bash和--noprofile之间的空格。您是否尝试过qsub-S'/bin/bash--noprofile'
?(使用引号使-S的参数仅为一个字符串?我不确定它是否有效,但可能有效。