shell脚本基础总结
shell脚本一直是运维常用的语言,为此总结了一下shell脚本中使用到的文本符号及语法
-
工具:sort、grep、cut、uniq、tee、paste、tr、sed、awk等都是有关shell和文本处理有关的工具
-
shell中的字符:
echo:用于字符串的输出
***** :代表零个或多个字符或数字。
? :只代表一个任意的字符
# :这个符号在linux中表示注释说明的意思,即”#”后面的内容linux忽略掉
[ ] :中括号,中间为字符组合,代表中间字符中的任意一个
wc :统计文档的行数、字符数、词数,常用的选项为:
-l :统计行数
-m :统计字符数
-w :统计词数
>, >>, 2>, 2>> :重定向符号> 以及>> 分别表示取代和追加的意思,然后还有两个符号就是这里的2> 和2>> 分别表示错误重定向和错误追加重定向,当我们运行一个命令报错时,报错信息会输出到当前的屏幕,如果想重定向到一个文本里,则要用2>或者2>>
&& 与 **||**和-o -a
-
command1 ; command2
-
command1 && command2
-
command1 || command2
使用”;”时,不管command1是否执行成功都会执行command2; 使用”&&”时,只有command1执行成功后,command2才会执行,否则command2不执行;使用”||”时,command1执行成功后command2 不执行,否则去执行command2,总之command1和command2总有一条命令会执行。
运算符 | 说明 |
---|---|
! | 非运算,表达式为 true 则返回 false,否则返回 true。 |
-o | 或运算,有一个表达式为 true 则返回 true。 |
-a | 与运算,两个表达式都为 true 才返回 true。 |
-
测试命令
(1)数值测试:
-eq:等于则为真
-ne:不等于则为真
-gt:大于则为真
-ge:大于等于则为真
-lt:小于则为真
-le:小于等于则为真(2)字符串测试:
=:等于则为真
!=:不相等则为真
-z字符串:字符串长度伪则为真
-n字符串:字符串长度不伪则为真(3)文件测试:
-e文件名&