Shell腳本總結

 1. 浮點運算
totalnum=100
totalnum=${#sqlret}
if [ $totalnum > $partialnum ]
then
     showscale=`echo "scale=2;100 - ($partialnum/$totalnum) * 100"|bc`
else
     showscale=1
fi    
2. sed和awk
    request:
test.txt:
aaa,2015-04-21 14:00:00,100
bbb,2015-04-21 14:00:00,152
  -->
<p><a href="http://10.29.101.200:8080/slaSiteReport.cgi?S=aaa" style="font-size:20px;color:green;text-align:center;">aaa</a><p/>,2015-04-21 14:00:00,100
<p><a href="http://10.29.101.200:8080/slaSiteReport.cgi?S=bbb" style="font-size:20px;color:green;text-align:center;">bbb</a><p/>,2015-04-21 14:00:00,152
    use 1)sed or 2)awk:
1).cat test.txt | sed 's/\([0-9A-Za-z]\{1,\}\),\(.*\)/<p><a href=\"http:\/\/10.29.101.200:8080\/slaSiteReport.cgi?S=\1\" style=\"font-size:20px;color:green;text-align:center;\">\1<\/a><p\     />,\2/g' 
2).cat test.txt | awk -F ',' '{print "<p><a href=\"http://10.29.101.200:8080/slaSiteReport.cgi?S="$1"\" style=\"font-size:20px;color:green;text-align:center;\">"$1"</a><p/>,"$2","$3}'
  1. 使用EOF在shell中多行打印:
    (中間是輸入框的HTML)
 cat <<EOF
 <form id="frm" method="POST" action="" οnsubmit="javascript:this.action='rgTable.cgi?S=(?)'.replace('(?)',this.key.value);" target="_blank">
   <input type="text" name="key" value="">
   <input type="submit" value="serch">
 </form>
 EOF
  1. 算術運算符
    expr 是一款表達式計算工具,使用它能完成表達式的求值操作。
anomaly_count=0
anomaly_count=`expr $anomaly_count + 1`
echo $anomaly_count
val=`expr 2 + 2`

a=10
b=20
val=`expr $a + $b`
echo "a + b : $val"

val=`expr $a - $b`
echo "a - b : $val"

val=`expr $a \* $b`
echo "a * b : $val"

val=`expr $b / $a`
echo "b / a : $val"

val=`expr $b % $a`
echo "b % a : $val"

if [ $a == $b ]
then
   echo "a is equal to b"
fi

if [ $a != $b ]
then
   echo "a is not equal to b"
fi

乘號(*)前邊必須加反斜槓()才能實現乘法運算;
5. shell腳本執行命令返回值

metric="statuskpi.dub1.tds25.get_check_serialize_legacy"
tmp="python ./anomaly_data_collector.py -s ./anomalies.json -k $metric"
valuestr1=`$tmp`
echo $valuestr1
  1. 訪問數據庫
 psql="psql -A -t -F , -h localhost -U username dbname";
 $psql -c "select * from table"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章