Bash 拡張書式
日経Linuxの記事が役に立ちそうだったので検証。
初期設定
# HOGE=/opt/oracle/app/ # echo $HOGE /opt/oracle/app/
先頭から一致した文字列を除外
最小範囲一致
# echo ${HOGE#/*o}
pt/oracle/app/
最大範囲一致
# echo ${HOGE##/*o}
racle/app/
末尾から一致した文字列を除外
最小範囲一致
# echo ${HOGE%o*/}
/opt/
最大範囲一致
# echo ${HOGE%%o*/}
/
指定した範囲を抽出
4文字目から6文字を抽出 # echo ${HOGE:4:6} /oracl
5文字目から2文字を抽出 # echo ${HOGE:5:2} or
変数に値がある場合はその値を。
無い場合は代替値を表示する。変数に代替値のセットは行わない。
変数に値がある
# echo ${HOGE-VARCHAR}
/opt/oracle/app/
変数に値が無い # echo ${HOGE2-VARCHAR} VARCHAR # echo $HOGE2
変数に値がある場合はその値を。
無い場合は代替値を表示する。変数に代替値のセットを行う。
変数に値がある
# echo ${HOGE:=VARCHAR}
/opt/oracle/app/
変数に値が無い # echo ${HOGE2:=VARCHAR} VARCHAR # echo $HOGE2 VARCHAR
変数の文字数を表示する。
# HOGE=/opt/oracle/app/ # echo ${#HOGE} 16
# HOGE2=VARCHAR # echo ${#HOGE2} 7