摘要:Shell是运行在终端中的文本互动程序,当前大多数Linux发行版的默认Shell是Bash。Shell相当于是一个翻译美国linux主机,相当于命令行类库,其作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这些方法称为交互式(Interactive)。Shell还有一种执行命令的方法称为批处理(Batch),用户事先写一个Shell脚本(Script),其中有好多条命令,让Shell一次把这种命令执行完,而毋须一条一条地敲命令。
Shell脚本是解释执行的,不须要编译,Shell程序从脚本中一行一行读取并执行这种命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。作为程序设计语言linux shell grep 正则,即使不是Linux系统内核的一部份,但它调用了系统内核的大部份功能来执行程序、创建文档并以并行的形式协调各个程序的运行。
本文主要介绍Shell脚本语言的符号使用方式,详尽内容请参考下文。
一、查看Shell
1.登录linux系统
2.查看默认的shell
二、Shell符号使用方式
1.LinuxShell键值(wildcard)
说明:转义是由shell处理的,只会出现在命令的“参数”里(它不用在命令名称里,也不用在操作符上)。当shell在“参数”中遇见了键值时,shell会将其当做路径或文件名去在c盘上搜救可能的匹配:若符合要求的匹配存在linux是什么系统,则进行代换(路径扩充);否则就将该键值作为一个普通字符传递给“命令”,之后再由命令进行处理。其实,键值实际上就是一种shell实现的路径扩充功能。在键值被处理后,shell会先完成该命令的重组,之后再继续处理重组后的命令,直到执行该命令。
(1)常用转义
说明:键值看上去有点象正则表达式句子,而且它与正则表达式不同的linux shell grep 正则,不能互相混淆。可以将键值理解为shell特殊代号字符就可。并且涉及的只有*,?,[],{}这几种。
(2)*号的使用
#ll*.txt
(3)?号的使用
#lll?g.txt
(4)[]中括弧的使用
#llcap[0-9].pcap
(5){}大括弧的使用
#llcheck{ip,IP,disk}.sh
2.LinuxShell元字符(特殊字符Meta)
说明:shell不仅有转义之外,由shell负责预先先解析后,将处理结果传给命令行之外,shell还有一系列自己的其他特殊字符。元字符属于shell这门编程语言的句型,被shell类库解释的'特殊字符'。例如grep命令解释的特殊符号是正则表达式中的特殊符号,正则与元字符中的符号都是'公用'的,并且表示的意义迥然不同。
(1)常用的元字符
(2)&后台工作
说明:单一个&符号,且置于完整指令列的最后端,即表示将该指令列装入后台中工作。
#tarcvfzdata.tar.gzdata>/dev/null&
(3)&&逻辑符号
这个也会常见到,代表and逻辑的符号。
(4)||逻辑符号
这个会经常听到,代表or逻辑的符号。
(5)=等号
常在设定变数时听到的符号。
#vara=123abc"vara=$vara"
3.LinuxShell通配符符
说明:有时侯,由于特殊情况,须要将键值,或则元字符弄成普通字符。这么就须要用到通配符符了,shell提供通配符符有三种。
(1)常用通配符符
(2)(反斜杠)
执行指令#ll/*.sh
(3)‘’(单冒号)
执行指令#ll‘*.sh’
(3)“”(双冒号)
执行指令#ll“*.sh”
备注:Shell脚本中的单冒号和双冒号一样都是字符串的划分符,单冒号用于保持冒号内所有字符的字面值,而双冒号有些情况则特殊。假如字符串中有特殊字符须要处理时就用双冒号。值得注意的是单冒号标明的字符中不能再出现单冒号。