系统所有解释器目录信息都存储在/etc/shells这个文件下

常见的Shell解释器有zsh,bash,sh,csh,ksh等

编写脚本一般以解释器的绝对路径为开头,比如Shell脚本就是 #!/bin/sh 为开头,python脚本就是#!/bin/python 为开头,这样起了一个指定解释器的作用。如果你编写Shell脚本,指定的是python解释器,这个脚本就会无法执行。我之前以为#!的#会把后面的内容注释掉的,后面的目录可以随便填写,直到我编写脚本的时候试了一次才知道,原来#!是真的起到了指定解释器的作用

解释器执行脚本和用户赋予执行权限有很大区别
一种是解释器帮你解释脚本,所以脚本本身不需要执行权限
一种是脚本需要自己执行,所以需要执行权限


You got to put the past behind you before you can move on.