Sun Grid Engine 上的 shell 脚本出现“未定义变量”错误

Sun Grid Engine 上的 shell 脚本出现“未定义变量”错误

我有以下 Sun Grid Engine 提交脚本:

#!/bin/sh
# sun grid engine cluster

# use current working directory
#$ -cwd

# merge error output into standard output stream
#$ -j yes
#$ -o generate_databases.log

# request to  cpu number
#$ -pe make 4

currentdir=`/bin/pwd`
echo "current working directory: $currentdir"

这是我的输出

/home/eamorr/sge
currentdir: Undefined variable.

如您所见,“currentdir”变量返回未定义。

如何解决这个问题?

答案1

你确定是 bash 吗?反引号运算符不可移植。有几种方法可以(可能)修复此问题:

  1. 在第一行中使用#!/bin/bash以确保它是 bash 而不是其他任何东西
  2. 避免使用反引号:currentdir=$(pwd)currentdir=$(/bin/pwd)
  3. 甚至更简单currentdir=$PWD

相关内容