test.mp3とtest.mp4ディレクトリを含むフォルダ1というフォルダがあります。
次のbashスクリプトがあります。
ORIGINATION_PATH=folder1
ext=mp*
files=($(ls "$ORIGINATION_PATH"/test/$ext))
for f in "${files[@]}"
do
echo f
done
私のファイルの配列にtest.mp3とtest.mp4が含まれたいのですが、スクリプトは私のlsコマンドパスをqoutesにラップするため、次のエラーが発生します。ls: cannot access 'folder1/test/mp*': No such file or directory
ベストアンサー1
コードのエラーは、*.
前に入れなかったことです。$ext
files=($(ls "$ORIGINATION_PATH"/test/*.$ext))
しかし、@jasonwryanが指摘したように、lsを解析しないでください
ls
この場合、以下を行う必要はありません。
files=("$ORIGINATION_PATH"/test/*.$ext)
または
for f in "$ORIGINATION_PATH"/test/*.$ext
ワイルドカードを試してください。