Debian
嘗試在 Debian 中執行啟動腳本時沒有此類文件或目錄錯誤
Debian(Raspbian)非常新,我在這個問題上苦苦掙扎了幾天。我有一個要在啟動時執行的啟動腳本。
我已經執行了以下命令,以使腳本可執行並將其與預設參數一起添加到啟動序列中。
sudo chmod 755 /etc/init.d/testsam sudo update-rc.d testsam defaults
嘗試測試腳本時,我執行以下操作:
sudo /etc/init.d/testsam start
但是這樣做時,我得到一個錯誤:無法執行/etc/init.d/testsam:沒有這樣的文件或目錄。
我將腳本最小化為非常基本的,但仍然不知道實際原因。我希望有人可以指出我正確的解決方案?這是目前的腳本。
#! /bin/bash # /etc/init.d/testsam case "$1" in start) #echo "starting script" ;; stop) #echo "stopping script" ;; *) #echo "Usage: /etc/init.d/testsam {start|stop}" exit 1 ;; esac exit 0
謝謝你的幫助
您可能在行尾有一個輸入符 (
^M
)#!
。該
#!
行的格式非常嚴格,不允許有輸入,除非實際呼叫了您的解釋器/bin/bash^M
使用適當的 unix 編輯器創建的文件中永遠不會有輸入,除非您特意添加它們。
編輯已經使用 CRLF 行結尾的現有文件時,輸入可能對您隱藏。例如,vim 就是這樣做的。但它還
[dos]
在狀態行中表示警告您該文件是 DOS 格式。然後,您可以說:set fileformat=unix
並保存文件以進行轉換。