我有以下 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 吗?反引号运算符不可移植。有几种方法可以(可能)修复此问题:
- 在第一行中使用
#!/bin/bash
以确保它是 bash 而不是其他任何东西 - 避免使用反引号:
currentdir=$(pwd)
或currentdir=$(/bin/pwd)
- 甚至更简单
currentdir=$PWD