#!/bin/bash 是什么

在 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 (!)