2017-03-10 49 views
0

帶-rw-r - r--權限的shell腳本文件dummy.sh,可以在下面的命令中正常運行。爲什麼shell腳本直接執行時不會運行,而是使用/ usr/bin/sh或/ usr/bin/bash運行?

/usr/bin/sh dummy.sh 

(OR)

/usr/bin/bash dummy.sh 

但最終與的bash:./dummy.sh:權限被拒絕誤差,如下面直接執行時。這背後的原因是什麼?

./dummy.sh 
+2

-rw-rr對於獨立執行是不夠的。您需要將其設置爲可執行文件:'chmod 755 dummy.sh' – Psi

+2

Becuase'dummy.sh'沒有執行權限,其中'/ usr/bin/sh'具有可執行權限。做'ls -lrt/usr/bin/sh'來檢查'sh'的權限。然而'sh'只是一個'符號鏈接'的實際外殼,可能是'bash' .... –

回答

0

您的腳本需要標記爲您的系統的可執行文件。這是通過爲業主,團隊或世界其他地方設置「x」位來完成的。 請參閱:Wikipedia - Unix permissions 通過執行

chmod 755 dummy.sh 

您將設置讀,寫和腳本的所有者執行權限和讀取和組和世界其他地區的執行權限。

0

提供的 「執行」 權限的shell腳本,使用以下任一選項:

  1. 搭配chmod 744 dummy.sh
  2. CHMOD U + X dummy.sh

可做參考到chmod documentation

相關問題