运维入门之bash shell脚本二

这里仅记录一下易忘且相对较重要的知识点

一、环境变量

可以直接在环境变量前加上美元符($)来使用这些环境变量

linux默认的umask值决定了新文件的默认权限设置,由于umask被设置成了022,所以创建的文件只有文件属主和属组才有读写权限,执行脚本之前要给文件加上执行权限chmod

二、用户变量

shell脚本允许在脚本中定义和使用自己的变量,定义变量允许临时存储数据并在整个脚本中使用。

用户变量区分大小写,可以是任何由字母数字下划线组成的文本字符串,长度不超过20个,赋值时等号两边不要出现空格。

三、命令替换

有两种方法可以将命令输出赋给变量:

1. 反引号 ( ` ) #反引号在键盘上与波浪线处同一位置

2. $( )格式

例: test=` date ` 或 $( date )

四、输入输出重定向、管道

>

>>

<

<<

|

五、数学表达式

在bash中,再将一个数学运算结果赋给某个变量时,可以用美元符和方括号( $[ operation ] )将数学表达式围起来

但是bash shell数学符运算只支持整数运算(使用内建的bash计算器bc解决此问题)

scale变量控制计算结果保留的小数位数,默认为0

在脚本中使用bc格式

variable=$(echo " options; expression " | bc)

内联输入重定向,重定向数据

variable=$ ( bc << EOF

options

statement

expressions

EOF

)

六、退出状态码

Linux退出状态码

状态码

描述

0

命令成功结束

1

一般性未知错误(无效参数)

2

不适合的shell命令

126

命令不可执行(无权限)

127

没找到命令

128

无效的退出参数

128+x

与linxu信号x相关的严重错误

130

通过ctrl+c终止的命令

255

正常范围之外的退出状态码

脚本中exit可指定退出状态码