スクリプトで変数名を使用して空のファイルを作成します。

スクリプトで変数名を使用して空のファイルを作成します。

シェルスクリプトを使用して空のファイルを作成する必要があります。ファイル名は、特定のパターン(たとえば)に一致するディレクトリ内のすべてのファイルを調べて決定され、新しいファイルが次のように見えるようTEST.*にします。_ENDTEST.2011_END$DIR

for file in $DIR/TEST.*
do
    touch $file_END  
done

これによりエラーが発生します。私もtouch $file_END次に交換しようとしました。

filename=$file_END  
touch $filename  

しかし幸運はありません。どうすればいいですか?

答え1

構文は次のとおりです。

filename="${file}_END"

またはあなたのコードから

touch "${file}_END"

"スペースやワイルドカードがない場合は、$file引用符は必要ありません。

答え2

コマンドソルバーは、ユーザーが$ file_END(file_ENDという変数の値)を意味したと思います。引用によってこの問題を解決できます。構文は次のとおりです。

filename="$file""_END"

または

filename="$file"_END

でも

filename=$file"_END"

明確にするために最初のものを好むが!

関連情報