ShellLinux我用 Linux

shell中四种括号作用

2017-10-22  本文已影响52人  Lee_DH

单括号

1. a=$(date)
2. a=`date`
3. a=$`date`

双括号

注: 1、2、3 等价
a=3.14
1. ((b=a+1))
2. b=`expr $a + 1`
3. let "b=a+1"
4. b=$[$a+1]
5. b=`echo "scale=2;$a+0.69"|bc` 
6. b=`echo "$a 3.14"|awk '{printf("%g",$1*$2)}
echo $b

等式5中的bc可进行浮点型计算,使用scale进行精度设置
等式6是利用awk进行计算,awk也支持浮点型计算,且内置有 log、sqr、cos、sin等函数

a=1
((a++))
echo $a
a=1
echo $((a>1?8:9))
for语法
num=100
total=0
for((i=0;i<=num;i++))
do
    ((total+=i))
done
echo $total
while语法
num=100
total=0
i=0
while((i<=num))
do
    ((total+=i,i++))
done
echo $total
if语法
a=3
if((a>1)); then
  echo 'yes'
fi

单中括号

if [ 99+1 -eq 100 ]; then
  echo 'yes'
fi

 bash: [: 99+1: integer expression expected

双中括号

if [ a -eq 3 ]; then      --- [: a: integer expression expected
if [[ a -eq 3 ]]; then
 echo 'yes'
fi
if [[ 99+1 -eq 100 ]]; then
  echo 'yes'
fi
上一篇 下一篇

猜你喜欢

热点阅读