Debian

嘗試在 Debian 中執行啟動腳本時沒有此類文件或目錄錯誤

  • May 2, 2014

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並保存文件以進行轉換。

引用自:https://serverfault.com/questions/592702