공백을 포함하는 파일 이름으로 작업하기 위해 배열 사용을 제안하는 Bash 스크립팅 안내서를 보았습니다. 그러나 DashAsBinSh 는 배열을 이식 할 수 없으므로 공백을 포함 할 수있는 파일 이름 목록으로 작업하는 POSIX 호환 방법을 찾고 있습니다.
아래 예제 스크립트를 수정하려고합니다. echo
foo/target/a.jar
foo/target/b.jar
bar/target/lol whitespace.jar
여기 스크립트가 있습니다
#!/usr/bin/env sh
INPUT="foo/target/a.jar
foo/target/b.jar
bar/target/b.jar
bar/target/lol whitespace.jar"
# this would be produced by a 'ls' command
# We can execute the ls within the script, if it helps
dostuffwith() { echo $1; };
F_LOCATIONS=$INPUT
ALL_FILES=$(for f in $F_LOCATIONS; do echo `basename $f`; done)
ALL_FILES=$(echo "$ALL_FILES" | sort | uniq)
for f in $ALL_FILES
do
fpath=$(echo "$F_LOCATIONS" | grep -m1 $f)
dostuffwith $fpath
done