我正在尝试从bash调用Expect脚本,但是出现以下错误:
+ cd /usr/local/sbin/myscripts
+ exec transfer_single_cert.expct jw.jwebster
./resend_keys.sh: line 131: exec: transfer_single_cert.expct: not found
这是重击:
#!/bin/bash
...other code
cd /usr/local/sbin/myscripts
exec transfer_single_cert.expct $usern
任何想法为什么会导致上述错误?
文件名正确。
我也试过
exec /usr/bin/bash /usr/local/sbin/myscripts/transfer_single_cert.expct $usern
./transfer_single_cert.expct $usern
最佳答案
我猜答案是:默认情况下,当前目录不在搜索PATH
中,这就是为什么找不到transfer_single_cert.expct
的原因。
因此,将transfer_single_cert.expct
作为./transfer_single_cert.expct
调用(并确保它具有可执行位(chmod +x transfer_single_cert.expct
),并且期望脚本的第一行是shebang,且其正确位置为expect
。
或者只是使用expect transfer_single_cert.expct
。