未找到SGE命令,未定义的变量

时间:2013-06-24 09:16:26

标签: variables variable-assignment qsub sungridengine

我正在尝试设置新的计算群集,并且当前在SGE中使用qsub命令时遇到错误。这是一个简单的实验,显示了问题:

test.sh

#!/usr/bin/zsh

test="hello"
echo "${test}"

test.sh.eXX

  

test = hello:找不到命令。

     

测试:未定义的变量。

test.sh.oXX

  

警告:无权访问tty(错误的文件描述符)。

     

因此在这个shell中没有作业控制。

如果我在头节点上运行脚本(sh test.sh),则输出正确。我通过输入“qsub test.sh”将作业提交给SGE。

如果我在已建立的计算群集(如HPC)上以相同的方式提交完全相同的脚本作业,则可以按预期完美地运行。什么设置可能导致此问题?

感谢您对此事的任何帮助。

1 个答案:

答案 0 :(得分:4)

群集上的队列很可能设置为posix_compliant模式,默认shell为/ bin / csh。 posix_compliant设置意味着你的#!线被忽略。您可以将队列更改为unix_behavior,也可以使用qsub的-S选项指定所需的shell。

#$ -S /bin/sh