Ubuntu Linux でパスからファイル名を取得して変数に保存するシェル スクリプト

Ubuntu Linux でパスからファイル名を取得して変数に保存するシェル スクリプト

パス内のファイル名を見つけようとしています。次のスクリプトを使用していますが、その名前を変数に入れようとすると問題が発生します。

for file in "${PROJECT_DIR}/temp_namespaces"/*
do
    echo "${file##*/}"
    namespaces= "${file##*/}"
    echo "namespace = " > "${namespaces}"
done

最初のエコーからファイル名が出力されますが、その後は両方の行でエラーが発生します。

namespaces= "${file##*/}"                ----   command not found
echo "namespace = " > "${namespaces}"    ----  No such file or directory

私はLinuxを使用していますamazon/aws-cli上記のスクリプトを実行するためのベースイメージ。

パスからファイル名を取得し、後でスクリプト内でさらにいくつかのコマンドを実行するために使用される変数に保存する必要があります。

何かご指摘があれば、よろしくお願いします。

ありがとう

答え1

不思議なことに、次の行からスペースと引用符を削除するとスクリプトが修正されることが分かりました。

namespaces= "${file##*/}"

次のように変更しました。

namespaces=${file##*/}

スペース 1 つと引用符を削除するだけです。

関連情報