shell解释器,用户和操作系统内核之间的桥梁
就像不同地区有不同方言一样,不同的Linux/Unix系统使用着不同类型的shell
命令文件位置:/bin/bash文件中
[root@Carlota /]# ls /bin/bash
/bin/bash
[root@Carlota /]#
[root@Carlota /]# ll /bin/bash
-rwxr-xr-x. 1 root root 964600 8月 8 2019 /bin/bash
[root@Carlota /]#
$ echo $SHELL
/bin/bash
$ cat /etc/shells
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
$ chsh
脚本文件首行#!(sha-bang)一方面标志着脚本文件的magic number为脚本文件类型,另一方面告知系统此脚本文件需要使用何种命令解释器来执行
#!/bin/sh --使用sh来解释执行
#!/bin/bash --使用bash来解释执行
#!/bin/python --使用python来解释执行
#!/bin/perl --使用perl来解释执行
#!/bin/env bash --使用env来适配某些操作系统中bash并不安装在/bin目录下的情况