簡體   English   中英

從不同位置執行Expect腳本

[英]Executing an Expect script from different locations

我試圖從兩個不同的位置運行我的Expect腳本,它將使用引用的以下Expect可執行文件:

  1. 我的linux主目錄( #!/usr/bin/expect
  2. 另一台服務器上的#!/clearlib/vobs/otherdir/bin/expect視圖( #!/clearlib/vobs/otherdir/bin/expect

問題是我無法在兩個地方運行腳本,除非我將Expect可執行文件位置的引用更改為文件的第一行。

如何獲取相應目錄的Expect可執行文件的正確實例?

如果在兩台服務器上正確設置了路徑,則可以使用/usr/bin/env

#!/usr/bin/env expect

這將使用在PATH找到的expect(在一種情況下為/usr/bin在另一種情況下為/clearlib/vobs/otherdir/bin

通過在示例中使用env ,在腳本運行時搜索並定位解釋器。
這使腳本更具可移植性,但也增加了選擇錯誤解釋器的風險,因為它在可執行搜索路徑上的每個目錄中搜索匹配項。
它也遇到同樣的問題,因為env二進制文件的路徑在每台機器上也可能不同。

如果您在設置正確的PATH遇到問題,那么“ /usr/bin/env關於shebang line pecularities的問題 ”可以提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM