次のスクリプトの結果:
results=$(find -iname "*.mp4")
echo $results;
次のようになります。
file1 file2 file3
端末で次のコマンドを実行したときに示されているように、findコマンドの結果を変数に渡すにはどうすればよいですか?
find -iname "*.mp4"
印刷:
file1
file2
file3
答え1
echo $results
それをする代わりにecho "$results"
。
修正する:
2つのケースの違いは、最初のケースは多くのパラメーターをecho
受け取り、2番目のケースは1つのパラメーターのみを受け取ることです。このためです変数の置換前に起こったパラメータ分析。
答え2
結果を読んでfind
配列を作成し、zenityに渡されるzenityのリストの例を試してください。
#!/bin/bash
List=()
while IFS= read -d $'\0' -r file ; do
List=("${List[@]}" "$file")
done < <(find . -iname '*.mp4' -print0)
zenity --list --column "Item" "${List[@]}"