1

У меня есть следующий скрипт отправки 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 ответ1

1

Вы уверены, что это Bash? Оператор с обратной связью не является переносимым. Есть несколько способов (возможно) исправить это:

  1. используйте #!/bin/bash в первой строке, чтобы убедиться, что это bash, а не что-нибудь еще
  2. избегайте обратных галочек : currentdir=$(pwd) или currentdir=$(/bin/pwd)
  3. или даже проще currentdir=$PWD

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .