제 질문은 xargs
. 나는 바퀴를 재발명해야 합니다. 그렇다면 이와 관련하여 무엇이 존재합니까?
while_do_it.sh
:
#! /bin/bash
while (( $# > 0 ))
do
echo "($1)"
shift
done
으로 나눌 수 있습니다.
while.sh
#! /bin/bash
command="$1"
shift
while (( $# > 0 ))
do
"$command" "$1"
shift
done
do_it.sh
#! /bin/bash
echo "($1)"
애플리케이션:
$ cat << EOF | xargs ./while.sh ./do_it.sh
foo
bar
qux
EOF
(Ctrl+D)
(foo)
(bar)
(qux)
답변1
: 을 사용하여 이 작업을 수행하려면 xargs
한 번에 한 단어씩 입력을 처리하도록 지시하십시오.
xargs -n 1 ./do_it.sh <<EOF
foo
bar
qux
EOF
그러나 한 번에 하나의 명령줄 인수, 즉 루프를 처리하는 셸 구성이 이미 있습니다 for
.
for i; do echo "($i)"; done