Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 我可以在没有source.bash\u配置文件的情况下创建qsub吗_Linux_Shell_Cluster Computing_.bash Profile_Qsub - Fatal编程技术网

Linux 我可以在没有source.bash\u配置文件的情况下创建qsub吗

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概要文件中测试这些变量

当我使用qsub提交一组作业时,qsub首先会获取.bash_概要文件。那么,我怎样才能在没有源文件的情况下发布作业呢

如果您能够找到如何将参数传递给bash本身,那么您要寻找的是
--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的参数仅为一个字符串?我不确定它是否有效,但可能有效。