bash使用小计
变量拼接字符串
teststr="abcd"
echo "${teststr}efg"
这样就可以拼接字符串,输出为abcdefg
编译脚本configure参数传递
在编写批量编译工具包的脚本时,我们会设置一下环境变量,比如CPPFLAGS,但是在脚本中运行./configure,这个变量并不会传递到configure中,如果想传递,需要在configure语句前设置,加空格分开
CPPFLAGS=aaa
CPPFLAGS="$CPPFLAGS" ./configure
上面这样才会把外面的参数aaa传递到configure脚本中
字符判断
[ -n string ]
string长度是否大于零
[ -z string ]
string长度是否为零
list
list用()表示
a=()
表示a是一个list
a=(1 2 3)
赋值元素用空格分开,这表示有三个值是1 2 3,不用,逗号分开,逗号在这里表示正常的值
获取长度
${#a[@]}
表示list的长度,也就是元素个数
获取元素
${a[0]}
获取第一个元素,bash中的list也是从0开始
${a[-1]}
获取倒数第一个元素,bash中的list可以从后面获取
输出所有值,list转字符串
${a[@]}
或者${a[*]}
会输出所有值,并且中间以空格分开,变成一个字符串
字符串转list
str="a b c d"
a=($str)
把str放入到()括号中,就转成了list
遍历list
for i in ${a[*]}; do
echo $i
done
我们可以获取list所有值,就可以遍历