カールに変数を含める必要があります
for fname in "assets/*.drx"; do
echo $fname
curl -F file=@"$fname" "http://someurl.com/"
echo $fnamename
done
結果:
assets/5baa5caa414f1d7786e86d03_1545903119.11.drx
curl: (26) couldn't open file "assets/*.drx"
assets/5baa5caa414f1d7786e86d03_1545903119.11.drx
カールはglob式を使用しているように見えますが、echoは実際のファイル名を使用します。カールはなぜこのように振る舞うのですか? echoが実際の変数を見る理由とカールでファイル名を使用する方法は?
ベストアンサー1
ワイルドカードを引用して*
シェルが拡張されないようにしました。
for fname in assets/*.drx; do
printf '%s\n' "$fname"
curl -F file=@"$fname" "http://someurl.com/"
done
変数fname
に値が割り当てられます。言葉テキストassets/*.drx
。使用するとき引用しないでは、echo
シェルはこれを忠実に拡張します。