Comando Spawn não encontrado

1

Estou tentando usar o comando spawn para conectar ao servidor remoto, executar alguns comandos / script.

Aqui está o script:

#!/usr/bin/expect
for i in 'srvctl status database -d PROD | awk -F " " '{print $(NF)}''
do
echo "value of i is $i"
spawn ssh "$i"
echo "vijay"
done

Aqui está a saída

bash-3.2$ sh a.sh
value of i is prod1
a.sh: line 8: spawn: command not found
vijay
value of i is prod2
a.sh: line 8: spawn: command not found
vijay

Estou usando o RHEL 5.11.

 bash-3.2$ expect -v
 expect version 5.43.0

Obrigado antecipadamente.

    
por Vijay 07.06.2016 / 07:22

1 resposta

2

Quando você executa um script como um argumento para shell, como você está fazendo:

sh a.sh

o shebang será ignorado e o script a.sh será interpretado por sh . Como não há nenhum comando como spawn em seu sistema ( spawn é expect specific command), o shell está lançando o erro fornecido.

Dado que seu shebang é #!/usr/bin/expect , não está claro o que você está tentando fazer, pois você tem muitos (todos, exceto spawn ) não expect de comandos específicos no script.

    
por 07.06.2016 / 07:28

Tags