'!/ bin/sh -e'这行怎么办?

10 linux shell

在我的服务器(linux)上的文件的开头,它位于/etc/init.d/文件夹中,我有这一行:

 !/bin/sh -e
Run Code Online (Sandbox Code Playgroud)

这意味着什么,因为每次执行脚本的其余部分时它都能正常工作,除了显示以下错误:

 !/bin/sh not found
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Bry*_*yce 15

该行定义了将执行给定脚本的程序.对于sh通常该行应以#字符作为这样开始:

#!/bin/sh -e
Run Code Online (Sandbox Code Playgroud)

-e标志的长名称是errexit,导致脚本在第一个错误时立即退出.


tst*_*ter 9

看起来像是一个混乱的shebang线.你需要在'!'前加一个'#'.

  • 是的,绝对是混乱的shebang线.在文件的某处找一个`$ Author:William Hung $`. (5认同)

Inv*_*r53 2

 #!/bin/bash   
Run Code Online (Sandbox Code Playgroud)

这是脚本中的第一行,告诉系统使用 bash shell 来执行脚本。