未找到生成命令

未找到生成命令

我尝试使用spawn命令连接到远程服务器,执行一些命令/脚本。

这是脚本:

#!/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

这是输出

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

我正在使用 RHEL 5.11 。

 bash-3.2$ expect -v
 expect version 5.43.0

提前致谢。

答案1

当您运行脚本作为 shell 的参数时,就像您正在做的那样:

sh a.sh

shebang 将被忽略,脚本a.sh将由 解释sh。由于spawn您的系统中没有这样的命令(spawnexpect特定命令),因此 shell 会抛出给定的错误。

鉴于您的 shebang 是#!/usr/bin/expect,不清楚您要做什么,因为脚本中有许多(除 之外的spawn)非特定命令。expect

相关内容