Echo一些事~

四則運算
[root@localhost t]# b=$(( 5*5+5-3/2 ))  ##  $(( )) 結構
[root@localhost t]# echo $b
29
[root@localhost t]# b=`expr 5 * 5`
expr: 語法錯誤
[root@localhost t]# b=`expr 5 \* 5`
[root@localhost t]# echo $b    ## expr 在乘法運算時,需要轉義
25
[root@localhost t]# echo $(( 5.0 - 4 ))
-bash: 5.0 -4 : syntax error: invalid arithmetic operator (error token is ".0 -4 ")
[root@localhost t]# c=`echo "5.01 - 4" | bc`  #echo 無法浮點運算,需要藉助bc
[root@localhost t]# echo $c
1.01
字符串截取
[root@localhost t]# var=5
[root@localhost t]# echo ${var-hello}  ## var有值則輸出
5
[root@localhost t]# echo ${bar-hello}  ##bar無值輸出默認hello
hello
[root@localhost t]# var=""
[root@localhost t]# echo ${var:-Null}   ##var 爲空,輸出默認
Null
[root@localhost t]# echo ${bar=hello}  ##bar無值,輸出默認,並賦值
hello
[root@localhost t]# echo $bar
hello
[root@localhost t]# bar=""
[root@localhost t]# echo ${bar=hello}  ##bar爲空,輸出默認,並賦值
[root@localhost t]# echo ${bar:=hello}
hello
[root@localhost t]# echo $bar
hello
[root@localhost t]# var=abcdefg
[root@localhost t]# echo ${#var}   #字符串長度
7
[root@localhost t]# echo ${var:3}  #從位置3開始截取
defg
[root@localhost t]# echo ${var:3:2} #位置3開始,長度2
de
[root@localhost t]# var=a.b.c.e.f.g.h
[root@localhost t]# echo ${var#*.}  #從左開始刪除最短匹配
b.c.e.f.g.h
[root@localhost t]# echo ${var##*.} # ~ 最長匹配
h
[root@localhost t]# echo ${var%.*}  #從右開始刪除最短匹配
a.b.c.e.f.g
[root@localhost t]# echo ${var%%.*} # ~ 最長匹配
a
[root@localhost t]# var=aaabbb
[root@localhost t]# echo ${var/a/c}   # 一次替換
caabbb
[root@localhost t]# echo ${var//a/c}  #全部替換
cccbbb
[root@localhost t]# var=abcefgabc
[root@localhost t]# echo ${var/#abc/ggg}    #從左開始匹配替換
gggefgabc
[root@localhost t]# echo ${var/%abc/ggg}    #從右開始匹配替換
abcefgggg
[root@localhost t]# var=abc134efg456hhh
[root@localhost t]# echo ${var/[0-9]/x}  #匹配正則
abcx34efg456hhh
[root@localhost t]# echo ${var//[0-9]/x}
abcxxxefgxxxhhh

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章