簡體   English   中英

'!/ bin / sh -e'這行怎么辦?

[英]What does the line '!/bin/sh -e' do?

在我的服務器(linux)上的文件的開頭,它位於/etc/init.d/文件夾中,我有這一行:

 !/bin/sh -e

這意味着什么,因為每次執行腳本的其余部分時它都能正常工作,除了顯示以下錯誤:

 !/bin/sh not found

有任何想法嗎?

該行定義了將執行給定腳本的程序。 對於sh通常該行應以#字符開頭,如下所示:

#!/bin/sh -e

-e標志的長名稱是errexit ,導致腳本在第一個錯誤時立即退出。 man sh更詳細描述:

如果不是交互式,則在任何未測試的命令失敗時立即退出。 如果命令用於控制ifelifwhileuntil ,則認為命令的退出狀態是顯式測試的; 或者如果命令是&&||左手操作數 運營商

看起來像是一個混亂的shebang線 你需要在'!'前加一個'#'。

 #!/bin/bash   

這是腳本中告訴系統使用bash shell執行腳本的第一行。

暫無
暫無

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

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