claProductVersion=`head -l ${amSqlCre}`
claProductVersion=`expr "${claProductVersion}" : 'Create Table \([^ ]*\) ('`
- ここで「 : 」を使用している理由は何ですか?
- ([^ ]*) は何をしているの?
- head -l は何をしていますか? ヘッダーのマニュアルページに「 l」オプションが見つからなかったためです。
1man expr
はあなたに伝えますSTRING : REGEXP
、そしてこれは意味しますanchored pattern match of REGEXP in STRING
2 正規表現は の\([^ ]*\)
ような文字列に一致しますxxx
。[^ ]
空白を除く任意の文字を意味します。And*
は、ゼロを含めて何度でも繰り返すことを意味します。\(
andは、\)
一致した文字列を示すことを意味します。それらがなければ、結果は正規表現が一致した位置になります。
3 それでも何か問題があると思います。l
ここでは意味がありません。である必要があり1
ます。