【问题标题】:SGE Command Not Found, Undefined Variable未找到 SGE 命令,未定义变量
【发布时间】:2013-06-24 09:16:26
【问题描述】:

我正在尝试设置新的计算集群,目前在 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)上以相同的方式提交完全相同的脚本作业,它会按预期完美运行。什么设置可能导致此问题?

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

【问题讨论】:

    标签: variables variable-assignment qsub sungridengine


    【解决方案1】:

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

    #$ -S /bin/sh
    

    【讨论】:

    • 啊,是的,我阅读了手册页并尝试这样做。感谢您解释原因!
    猜你喜欢
    • 1970-01-01
    • 2020-02-21
    • 2021-08-07
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 2015-02-24
    • 2016-07-05
    相关资源
    最近更新 更多