在 shell 脚本的第一行,经常能看到 #!/bin/bash
或者 #!/bin/sh
,这不是注释,这是告诉计算机使用哪个 shell 来执行这个脚本。
shell 有很多,常用的有 bash, sh, zsh 等,不同的 shell 有微小的区别,有时候为了确保脚本按照作者的本意执行,需要在第一行指定 shell。
#!/bin/bash
只能放在第一行,放在其他行就会被认为是注释
此外,这一行还可以指定 python, ruby, perl 等解释型语言的解释器,如 #!/usr/bin/python3
, /usr/bin/perl
PS:这一行通常读作 hash (#) bang (!)