
У меня есть следующий скрипт отправки 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? Оператор backtick непереносим. Есть несколько способов (возможно) исправить это:
- используйте
#!/bin/bash
в первой строке, чтобы сделать так, чтобы это был bash, а не что-либо еще - избегайте обратных кавычек:
currentdir=$(pwd)
илиcurrentdir=$(/bin/pwd)
- или еще проще
currentdir=$PWD