다음 스크립트의 결과:
results=$(find -iname "*.mp4")
echo $results;
다음과 같습니다:
file1 file2 file3
터미널에서 다음 명령을 실행할 때 표시된 것처럼 find 명령의 결과를 변수에 전달하려면 어떻게 해야 합니까?
find -iname "*.mp4"
인쇄:
file1
file2
file3
답변1
echo $results
그것을 하는 대신에 echo "$results"
.
고쳐 쓰다:
두 경우의 차이점은 첫 번째 경우는 echo
많은 매개변수를 받는 반면 두 번째 경우는 하나의 매개변수만 받는다는 것입니다. 이 때문입니다변수 대체전에 일어난매개변수 분석.
답변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[@]}"