Shell总结01-shell解释器

常见Shell解释器种类

就像不同地区有不同方言一样,不同的Linux/Unix系统使用着不同类型的shell,其中sh是UNIX上的最基本的shell,遵循POSIX接口规范

操作系统 默认shell 是否兼容sh
Solaris sh
HP-UX sh
AIX ksh
Linux bash
FerrBsd csh
Osx zsh
大部分UNIX商业发行版中默认的是Bourne shell,尽管功能和特性都不多,但是在多种Unix和Linux上仍然存在。ksh,csh,bash这些后辈们也都尽量保证了对祖先sh的兼容。

查看当前Shell解释器

$ echo $SHELL
/bin/bash

查看系统支持Shell解释器

$ cat /etc/shells 
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

切换系统当前默认的Shell解释器

$ chsh

关于首行#!的理解

脚本文件首行#!(sha-bang)一方面标志着脚本文件的magic number为脚本文件类型,另一方面告知系统此脚本文件需要使用何种命令解释器来执行

#!/bin/sh            --使用sh来解释执行
#!/bin/bash          --使用bash来解释执行
#!/bin/python        --使用python来解释执行
#!/bin/perl          --使用perl来解释执行
#!/bin/env bash      --使用env来适配某些操作系统中bash并不安装在/bin目录下的情况
posted @ 2020-06-09 16:53  ElfCafe  阅读(940)  评论(0编辑  收藏  举报