Erro “variável indefinida” no shell script no Sun Grid Engine

1

Eu tenho o seguinte script de envio do 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"

E aqui está minha saída

/home/eamorr/sge
currentdir: Undefined variable.

Como você pode ver, a variável 'currentdir' retorna indefinida.

Como consertar isso?

    
por Eamorr 19.09.2012 / 13:47

1 resposta

1

Tem certeza de que é bash? O operador de backtick não é portátil. Existem várias maneiras de (possivelmente) corrigir isso:

  1. use #!/bin/bash na primeira linha para fazer dure, não é nada mais
  2. evite os backticks: currentdir=$(pwd) ou currentdir=$(/bin/pwd)
  3. ou até mais simples currentdir=$PWD
por 19.09.2012 / 13:56

Tags