shell简介与语法结构
三种常用的shell简介
在Linux和UNIX操作系统内可以使用多种不同的shell。最常用的有Bourne Shell(sh),C Shell(csh)和Korn
Shell(ksh)。这3种shell都有各自的优缺点。
Bourne Shell是UNIX最初使用的shell,在每种UNIX上都可以使用。Bourne Shell多用于shell编程方面,在处理
与用户的交互方面不如其他同种shell。
C Shell更多地考虑到用户界面的友好性,支持如命令补齐(command-line completion)等特性。C Shell的编程接
口不如Bourne Shell,C Shell语法和C语言语法很相似。
Korn Shell(ksh)集合了C Shell和Bourne Shell的优点并且和Bourne Shell完全兼容。
除这些Shell以外,还有许多其他的shell程序吸收了原shell程序的优点而成为新的shell。
因为Linux支持多种shell,可以根据个人习惯而选择不同的shell,要查看目录所使用或系统默认的shell,只需
要运行“echo”命令来查询shell环境变量即可,语法如下:
# echo $SHELL
# echo ${Shell}
如果要改版 当前使用的shell,只需要运行其程序名即可进行切换。
# sh
# ash
# exit
Shell命令的基本语法
Shell的基本命令格式如:command -options [argument]
其中,词与词之间都必须有一个空格。
command为shell命令。
-options为选项,同一个命令可以有很多选项,用以完成不同的功能,如查看目录信息命令ls的-l参数详细列出
当前目录的所有内容,而-a参数将显示隐藏目录及文件。
argument为参数,如要用ls命令查看/home文件夹内容,可以使用“ls -l /home”命令。如:
# ls //查找当前目录下文件和文件夹
# ls -l //查看当前目录下文件和文件夹详细信息
# ls -a //.....,包括隐藏文件
# ls 0l /home //查找/home下的文件和文件夹
Shell特殊符号
在Shell环境下,允许使用通配符,包括“*”、“?”、“`”、“;”、“#”、“[]”、“!”等。
“*”符号 表示通用符号。可以表示任意空字符、单一字符或多字符的字符串。如命令”ls -l
/etc/rc.d/init.d/a*”表示列出/etc目录下所有以a开头的目录及文件。
“?”符号 类似于“*”,但只表示一个字符。
“`”符号 命令替代字符(反引号)。这个符号里面饮食的内容在Shell中代表命令,其内容不会作为字符处理,
而是执行命令。例如命令“echo `ls -l`”中的ls -l将被执行,而“echo `ls -l`”内单引号中的ls -l不会执
行。
“;”符号 分隔多个命令符号,此符号用来在同一命令行中运行多个命令。
“#”符号 注释符号,以#开始的行表示注释,不会被执行。但在sh脚本文件中,“#!bin/sh”表示以下所有使用
的shell脚本程序类型。
“[]”符号 指定字符范围。用来指定显示内容的范围,例如,“ls -l file[1-3]”表示显示file1~file3文件
信息。
“!”符号 排除符号。用来指定不被显示内容的范围,如“ls -l file[!1-3]”将显示除了file1~file3以外的
文件信息。
制作人:飞虎 无兄弟不编程!
====================================================
欢迎加QQ群进行更多交流:305397511 专注于php、mysql以及开源框架