shell札记
1.echo变量名的技巧
#! /bin/bash read -p "please input value a: " a declare -i ai=a echo -e "ai=$ai \bok"
在这一行代码中,先输入a的值,是一个字符串。然后通过declare命令通过字符串“a”来定义ai的整数值,然后我们想把ai输出出来,可以直接用echo "ai=$ai"来完成。但是如果我们想在后面再输出一些字符串呢?可以用一个空格分隔,然后定义想要输出的字符串。然是如果我们不想空格呢?可以给echo添加-e参数,然后用\b进行退格,就ok了。
num=2 echo "this is the ${num}nd"
刚刚看到一个最方便的方法。
2.判断结构中注意空格
if [ $ai = 666 ]; then echo "ai=$ai" else echo "ai is false" fi
注意判断语句“[ $ai = 666 ];”中的四个空格,不隔开就会报错。
3.判断(A or B) and (C or D)
#! /bin/bash #(A or B) and (C or D) #(A or B) test true A=$? #A=0 test false B=$? #B=1 AorB=1 if [ $[A] -eq 0 -o $[B] -eq 0 ];then AorB=0 fi #AorB=0 test true C=$? #C=0 test false D=$? #D=1 CorD=1 if [ $[C] -eq 0 -o $[D] -eq 0 ];then CorD=0 fi #CorD=0 if [ $[AorB] -eq 0 -a $[CorD] -eq 0 ];then echo "(A or B) and (C or D) is true" else echo "(A or B) and (C or D) is false" fi
4.将命令执行结果保存在变量中
var=$(命令)
var=`命令` # 注意此处不是普通的单引号