Shell 编程随记
在Shell中,变量分为两种类型。一种在 本地数据存储区,在此区的数据无法被其他进程访问。另一种在 用户环境区 ,在此区的数据可以被其他进程访问。变量从前者迁移到后者,可用命令 export。
双引号 “” 是弱引用(soft quote),之内的变量($var)可以发挥作用。
单引号‘’是强引用(hard quote),之内的变量失效,仅作为字符显示。
shell中的":="在 类似于var=${str:=expr}中的用途简单来说,就是当冒号前面的变量不存在或值为空时,就把等号后的值赋值给变量。若将":="换成"="则效果是仅当str为unset时才将expr赋给str。
在bash中 "\$0", "\$#", "\$*", "\$?", '\$@'意思汇总:
'\$0':指运行的脚本自身, '\$1'为此脚本后面的第一个参数,依此类推。'\shift' 的作用
'\$#': 包含脚本自身( '\$0')的所有参数的个数
'\$*': 所有参数的列表(注意不包含脚本自身,即 '\$0')
'\$?': 指上一条指令的返回值
'\$@': 于 '\$*'类似,但 '\$*'返回一个字符串,各个参数以空格相隔; '\$@'则返回多个字符串,每个字符串一个参数。
对于参数,可以用 '\shift' 命令来将参数列表中的参数去掉。一个 '\shift' 去掉一个参数(从 '\$1'开始,去掉后,后面的往前挪),比如执行一次 '\shift' 则原来的 '\$1'被去掉,原来的 '\$2'变成现在的'\$1'。(反斜杠\只是进行转义,使用时应去掉。)

浙公网安备 33010602011771号