2010年8月10日 星期二

程式變數


取得檔案目錄名稱

$ mydir=$(dirname  /usr/local/share/doc/foo/foo.txt)
$ echo $mydir
/usr/local/share/doc/foo

取得kernek版本代號(2種不同作法)
1. $ kv=$(uname -r|cut -d'-' -f1,2)
$ echo $kv
   $ 2.6.32-24
2. $ kv=$(uname -r)
   $ echo $(kv%%-*)
   $ 2.6.32
   $ echo $(kv%-*)
   $ 2.6.32-24
向左及向右刪除都是單一字串作業

向左刪除(給一個#是查到第一個  給兩個#是查到最後)

#找到最後一個fo後,將左邊的資料都刪除
$ myvar=foodforthought.jpg
$ echo ${myvar##*fo}
rthought.jpg

#找到第一個fo後,將左邊的資料刪除
$ echo  ${myvar#*fo}
odforthought.jpg


# 顯示 DNS IP 位址
$ mydns=$(cat /etc/resolv.conf | grep nameserver)
(這裡顯示出來的應該是nameserver 168.95.1.1)
$ echo ${mydns##* }
(這裡顯示出來會變168.95.1.1,因為從空白往左都刪除掉了)


向右刪除(給一個%是查到第一個  給兩個%是查到最後)
$ myfoo=“chickensoup.tar.gz”

#找到最後一個.後,將右邊的資料都刪除
$ echo  ${myfoo%%.*}
chickensoup

#找到第一個.後,將右邊的資料都刪除
$ echo  ${myfoo%.*}
chickensoup.tar
截取字串
$ ex=cowabungaxyz

#從第一個字開始,抓三個字
$ echo  ${ex:0:3}
cow

#從第三個字開始,抓七個字
$ echo  ${ex:3:7}
abungax


## 顯示 Dsfault Gateway
$ mygw=$(netstat -r | grep default)
$ echo $mygw
default 192.168.200.2 0.0.0.0 UG 0 0 0 eth0
$ echo ${mygw:16:15}
192.168.200.2

沒有留言:

張貼留言