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ます。