我正在編寫可在多個作業系統上使用的期望腳本,但問題是
我不能使用#!/usr/bin/expect
evreywhere 所以我嘗試這樣做
#!`which expect`
在頂部但失敗了
[sesiv@itseelm-lx4151 ~]$ ./sendcommand
-bash: ./sendcommand: `which: bad interpreter: No such file or directory
任何解決方案。
答案1
一種最有效的技巧(對於 perl、python、php 解釋器,可能還有其他解釋器):
#!/usr/bin/env expect
我想env
總是在/usr/bin/
。現在很多解釋器都可以這樣運作。其他的駭客曾經也存在過,但無法理解,或不那麼便攜。
答案2
我建議
#!/bin/sh
expect_path="$(which expect)"
"$expect_path" "$0" "$@"
我希望這能起作用;我不熟悉bash和sh之間的區別。