Linux shell奇怪的情况

yas*_*sin 2 linux shell shebang

有谁知道为什么以下脚本有效?

#a-random-junk-string
echo HI
Run Code Online (Sandbox Code Playgroud)

shell执行echo命令,并输出HI.我以为自从没有"!" 在"#"之后,shell会出错.

Ama*_*9MF 12

如果没有#!指定一个特定的解释器,内核不会拦截并使用指定的程序启动它.

但是,当前shell仍然可以将其解释为命令文件,这是您所看到的.

  • 这是对的.脚本仍然有效的原因是'#'是Bash/SH/ZSH/etc中的注释字符,因此第一行被忽略为注释. (6认同)