コード:
#! /bin/bash
ALL="hello.log"
echo ${ALL%.*}
「こんにちは」が表示されることは知っていますが、「$ {ALL%。*}」を理解するにはどうすればよいですか?ありがとうございました。
コード:
#! /bin/bash
ALL="hello.log"
echo ${ALL%.*}
「こんにちは」が表示されることは知っていますが、「$ {ALL%。*}」を理解するにはどうすればよいですか?ありがとうございました。
{ }
拡張に使用され、変数%.*
に含まれるすべての文字をフルストップからエコーから削除するために使用されます。ALL
これを分解しましょう。
${ALL%.*}
${ }
-パラメータ拡張を使用します。ALL
-変数名。%
-文字列の末尾から開始を削除します(RHS)(貪欲ではありません)。.*
-パターンマッチング式; リテラルドットの後に任意の文字が続きます。これはパラメータ拡張です。マニュアルの対応するセクションに記載されており、と入力すると表示されますman bash
。を検索し${parameter%word}
ます。