shell脚本符号和测试命令
一:实验内容与截屏
一、Shell脚本中的特殊符号
1.引号的使用
在Shell脚本中,引号一般包含:单引号、双引号、倒引号三种。
所有的引号都需要两个相同的引号配套使用,单个引号被看做字符处理,而不是引号。
1.1单引号的使用('')
单引号可以将特殊字符(如:美元符号$、反斜杠\等)作为普通字符处理。
例一:单引号输出特殊字符
1.2双引号的使用("")
双引号的作用和单引号的作用类似,都用于字符串的输出。
双引号将$ ` \ 仍作为特殊符号对待,其余字符作为普通字符对待。
例二:双引号输出特殊字符
1.3倒引号的使用()
倒引号位于键盘上Tab键的上方,和其他引号一样,需要成对配合使用。
倒引号的作用是以引号中的命令执行结果代替命令本身,这样在Shell脚本中就可以直接操作命令的执行结果。
例三:倒引号的使用
创建测试文本文件test.txt
思考题: 在终端执行下列各组命令,通过对比解释含义:
第一组
grep "a*" test.txt
grep "aa*" test.txt
grep "aaa*" test.txt
grep "aaaa*" test.txt
grep "aaaaa*" test.txt
第二组
grep "s..d" test.txt
grep "s...d" test.txt
grep "s.d" test.txt
grep "." test.txt
第三组
grep "^s" test.txt
grep "a$" test.txt
grep "b$" test.txt
grep -n "^$" test.txt
第四组
grep "s[ao]id" test.txt
grep "[0-9]" test.txt
grep "^[0-9]" test.txt
grep "[0-9]$" test.txt
grep "[^a-z]" test.txt
grep "^[^a-z]" test.txt
grep "^[^a-zA-Z]" test.txt
grep "[a-zA-Z]" test.txt
第五组
grep ".$" test.txt
grep ".$" test.txt
第六组
grep "a{3}" test.txt
grep "a{3,}" test.txt
grep "c{3}v" test.txt
grep "xc{3}v" test.txt
grep "xc{2,3}v" test.txt
二、测试命令
1.测试命令的基础结构
在Shell中,测试命令用来实现测试表达式的条件的真假。
测试条件为真,返回一个0值;如果测试条件为假,返回一个非零整数值。
测试命令:
test 表达式
[表达式]
表达式数字、字符串、文本和文件属性的比较,同时也可以加入各种算术、字符串、文本等运算符。
例四:
例五:[]命令的使用
2.测试文件类型
使用test命令判断文件属性:
例六:test命令判断文件属性
例七:test命令判断文件的新旧
3.测试字符串
常用测试字符串测试运算符
例八:test命令判断字符串
4.测试数值
二:实验心得
本次实验就是输出的命令比较多,grep命令是是一种强大的文本搜索工具,它能使用正则表达式搜素文本,并把匹配的行打印出来。