Scripting

在腳本中找到要放在 shebang (#!) 之後的 kermit 目錄的路徑

  • March 30, 2017

我使用以下腳本連接到我的串列設備kermit

#!/usr/bin/kermit
set port /dev/ttyUSB8
set speed 115200
set carrier-watch off
set flow-control none
set prefixing all
OUTPUT ifconfig\13

但它會引發以下錯誤:

bash: ./test.script: /usr/bin/kermit^M: bad interpreter: No such file or directory

我懷疑我在shebang之後給出的路徑可能是問題所在。如何找到讓我的腳本正常工作的正確路徑?

在 shebang 之後,您有要執行的命令。腳本名稱將是第二個參數。因此,在 bash 的情況下,您擁有#!/bin/bash相當於 call bash ./script。在您的情況下,該命令等效於:

sudo /usr/bin/kermit ./test.script

您應該檢查是否安裝了 kermit 以及是否在其中,/usr/bin例如使用命令which kermit

編輯。

啊。現在我發現了錯誤。您在第一行有一個 ^M (CR)。轉到腳本的第一行,刪除行尾並重做。這在 Unix/Linux 中。DOS/Windows 將添加 ^M,這不是很好的解釋。

引用自:https://unix.stackexchange.com/questions/354823