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=`命令` # 注意此处不是普通的单引号

 

posted @ 2018-01-07 13:39  TQCAI  阅读(135)  评论(0编辑  收藏  举报