重新点亮shell————语法[四]

前言

简单介绍一下语法。

正文

数组:

定义数组:

IPTS =(10.0.0.1 10.0.0.2 10.0.0.3)

显示所以数组元素:

echo ${IPTS[@]}

显示数组元素的个数

echo ${#IPTS[@]}

显示第一个元素:

echo ${IPTS[0]}

转义和引用:

特殊字符:

注释

; 分号 分割两行命令

\ 转义字符

"' 引号

转义符合:

单个字符前的转义符合:

\n\r\t 单个字母转义

$ 、"、 \ 单个非字母的转义

引用符号:

常用的引用符号:

"" 双引号
' 单引号
` 反引号

单引号和双引号在显示的时候还是不一样的。

` 反引号 可以用来执行命令。

赋值运算符:

算术运算符:

+-*/**%

使用expr 进行运算

expr 4 + 5 只能支持整数,4和+和5之间要有空格

数字常量:

let "变量名=变量值"

支持8进制和16进制

双圆括号:
((a=10))

((a++))

echo $((10+20))

if

if-then 基本用法:

if [测试条件成立] 或者 命令返回值为0

then 执行相应的命令

fi 结束

同样有了if-then,那么还可以使用if then else 这样的语句。

if-then-else 语句可以在条件不成立也运行相应的命令。

格式为:

if [测试 成立条件]
then 执行相应命令
else 测试条件不成立,执行相应命令
fi 结束

还可以使用:

if [测试 成立条件]
then 执行相应命令
else if [测试成立条件]
then 执行相应命令
else 测试条件不成立,执行相应命令
fi 结束

case

case 值 in
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
esac

循环

for 说明:

for file in $(ls .gz); do gunzip -c $file > ${file%%.} ;done

同样可以使用c语言风格的,比如说:

for ((i=1; i<=10;i++)); do command;done

这样的也可以。

while 说明:

while test测试一直成立

do
command
done

另外一种就是utile,就是和while 相反,while 是一直是真的时候执行,utile一直是假的时候执行。

util test测试一直成立

do
command
done

同样循环中有continue和break,和其他语言一样就不介绍了。

下一节特殊字符。

原文地址:https://www.cnblogs.com/aoximin/p/15733679.html