* パラメータ展開 [#gfd27833]

** パラメータにデフォルト値を設定 [#o155a77b]
ユーザtaroがいなければ、UIDは999。${VAR:=default}という書式。
 UID=`grep taro /etc/passwd | cut -f 3 -d :`
 UID=${UID:=999}

** 文字列の先頭(末尾)を取り出す [#f05ac698]
 var="2008-07-01.jpg"
 echo ${var%.jpg}
 echo ${var#2008-}
↓ 
 2008-07-01
 07-01.jpg

** split [#h71ae77a]
 path=/var/spool/mail/
 while [ $path ]; do
    echo ${path%%/*} # ループ1回目:"/var/spool/mail/"が取り除かれて、""がエコーされる 
                     #       2回目:"/spool/mail/"が取り除かれて、"var"がエコーされる
    path=${path#*/}  # ループ1回目:"/"が取り除かれて、pathは"var/spool/mail/"になる
                     #       2回目:"var/"が取り除かれて、pathは"spool/mail/"になる
 done

** 拡張子一括変換 [#uedfaeb5]
.htmから.htmlへ
 for i in *.htm; do mv $i ${i%.htm}.html; done
http://www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html

** 拡張子を抜き出す(ドットを含まない) [#pc3a0620]
パラメータの文字列の左側からパターンにマッチする部分を取り除く。
 for i in *; do echo ${i##*.}; done
- ## 最長一致
- # 最短一致

** FQDNからホスト名を抜き出す [#r420f47f]
 _HOSTNAME=$(hostname)
 _HOSTNAME=${_HOSTNAME%%.*}
FQDNがfoo.bar.comの場合、fooを取得する。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS