![特殊記号、.*# 中括弧内 [重複]](https://linux33.com/image/66415/%E7%89%B9%E6%AE%8A%E8%A8%98%E5%8F%B7%E3%80%81.*%23%20%E4%B8%AD%E6%8B%AC%E5%BC%A7%E5%86%85%20%5B%E9%87%8D%E8%A4%87%5D.png)
bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
echo "BASH VERSION --- $BASH_VERSION"
echo "bmajor ----- $bmajor"
echo "bminor ----- $bminor"
印刷、
BASH VERSION --- 4.2.46(1)-release
bash --- 4.2
bmajor ----- 4
bminor ----- 2
私は通常、配列を操作するときに中かっこを使用します{}
。ここでパターンマッチングに使われるものを見ました。
${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
この値を評価する方法は?そして、中の特殊文字はどういう*
意味ですか?.
#
{}
答え1
から引用バッシュリファレンスマニュアル:
${parameter#word}
${parameter##word}
ファイル名拡張と同様に、単語が拡張されてパターンが生成されます(ファイル名拡張子を参照)。パターンがパラメータ拡張値の先頭に一致する場合、拡張結果は、最短一致パターン(「#」の場合)または最長一致パターン(「##」の場合)を持つパラメータ拡張値になります。削除されました。 ...
${parameter%word}
${parameter%%word}
ファイル名拡張と同様に、単語を拡張してパターンを生成します。パターンがパラメータ拡張値の末尾の部分と一致する場合、拡張結果は、最短一致パターン(「%」ケース)または最長一致パターン(「%%」ケース)を持つパラメータ値を削除します。 ...