変数テストとコンテンツの置換

1866 ワード

1.変数テストと内容置換


変数変換方式
変数yは設定されていません
変数yがNULLです
変数y設定値
ぶんせき
x=${y-新しい値}
x=新値
xが空
x=$y
どのようにyが値を設定されるかはx=$yであり、そうでなければx=新しい値である.
x=${y:-新しい値}
x=新値
x=新値
x=$y
y値が空でなければx=$y、そうでなければx=新しい値
x=${y+新しい値}
xが空
x=新値
x=新値
yが値を設定されている場合x=新しい値、そうでない場合xは空
x=${y:+新しい値}
xが空
xが空
x=新値
y値が空でなければx=新しい値、そうでなければxは空
x=${y=新しい値}
x=新しい値、y=新しい値
xは空で、y値は変わらない
x=$y,y値は変わらない
yが設定されていればx=$yでy値は変化せず、そうでなければx=新しい値でy=新しい値である
x=${y:=新しい値}
x=新しい値、y=新しい値
x=新しい値、y=新しい値
x=$y,y値は変わらない
yが空でなければx=$yであり、y値は変わらない.そうでなければx=新しい値であり、y=新しい値である.
x=${y?新しい値}
新しい値が標準エラー出力(画面)に出力されます.
xが空
x=$y
yが値を設定されている場合x=$yでy値は変化しません.そうしないと、新しい値が標準エラー出力(画面)に出力されます.
x=${y:?新しい値}
新しい値を標準エラー出力に出力
新しい値を標準エラー出力に出力
x=$y
yが空でなければx=$yでy値は変わらないが、新しい値が標準エラー出力(画面)に出力される

2.変数置換1


アイコン
意味
${var}
変数、範囲の定義
${var:num}
varのnum番目の文字から末尾までのすべての文字を返します.左から右、負から右、スペース:{var:1-3}または${var:(-2)}
${var:num1:num2}
varのnum 1番目の位置からnum 2の長さのサブ列を抽出する.num 1は位置、num 2は長さ
${var::num1}
varの開始位置からnum 1位置のサブ列を抽出する.(正数:左から、負数:右から)
${var/word1/word2}
varで最初に一致したword 1をword 2に置き換えます
${var//word1/word2}
varのすべてのword 1をword 2に置き換えます

3.変数置換2


変数を定義変数fileを定義します.
file=/dir1/dir2/dir3/my.file.txt

アイコン
意味
${file#*/}
最初の/左の文字列を削除します:dir 1/dir 2/dir 3/my.file.txt
${file##*/}
最後の/左の文字列を削除します:my.file.txt
${file#*.}
最初を削除します.左の文字列:file.txt
${file##*.}
最後の1つを削除します.左の文字列:txt
${file%/*}
最後の/および右側の文字列を削除します:/dir 1/dir 2/dir 3
${file%%/*}
最初の/右側の文字列を削除します:(空の値)
${file%.*}
最後の1つを削除します.右側の文字列:/dir 1/dir 2/dir 3/my.file
${file%%.*}
最初を削除します.右側の文字列:/dir 1/dir 2/dir 3/my