ファイル名に変数と「_」を使ってはまってしまった件

linux

ファイル名に変数と「_」を使ってはまってしまいました。

 

まずは以下をご覧ください。

 

このコマンドを実行すると、「test_log_ABC_100.log」というファイルができそうですね。

 

でも、それは間違いです。

なんと作成されるファイルは「test_log_100.log」です!

 

これ、以下のようにリダイレクトではなく、引数として指定した場合でも同じです。

この場合、「test_$A_$B.conf」は「test_100.conf」になってしまいます。

 

実はこれ、「$A_」でひとつの変数として見られています。

上の式では「$A_」には値を入れていないため、その部分が空になり、後ろの「$B」のみに値が入るわけです。

 

じゃあ、どうすればよいか。

以下のように「{}」を使います。

 

 

これは見落としがちなので、「_」を使用しないで以下のように「-」を使用するようにしたほうが良いかもしれません。

 

リダイレクトする場合の例。

 

引数として指定する場合の例。

Secured By miniOrange
タイトルとURLをコピーしました