이 예는 Linux 책에서 가져온 것입니다.
$ cat sort-wc
#!/bin/bash
# Sort files according to their line count
for f
do
echo `wc -l <"$f» lines in $f
done | sort -n
$ ./sort-wc /etc/passwd /ect/fstab /etc/motd
내가 이해하지 못하는 것은 왜 백틱과 큰따옴표가 하나만 있고 그 기능이 무엇인지입니다 >>
. >>
파일에 쓰는 거 아닌가요 ?
답변1
121페이지에 나온 내용입니다."사용자와 관리자를 위한 Linux 소개"이는 본문의 인쇄상의 오류입니다. 이 스크립트는 tuxcademy의 다른 텍스트에서도 사용할 수 있지만 동일한 인쇄상의 오류가 있습니다.
이중 문자와 달리 단일 »
문자 >>
는 쉘 스크립트에 영향을 주지 않습니다. 내 생각엔 이 책의 텍스트 형식을 지정하는 데 사용된 조판 시스템이 "`
어떤 이유로 혼동되어 guillemet(모퉁이 인용부호)으로 형식화했거나 «...»
파일의 단순한 철자 오류(인용부는 일반 텍스트를 인용하는 데 사용됨) 인 것 같습니다. ).
스크립트는 다음과 같이 읽어야 합니다.
#!/bin/bash
# Sort files according to their line count
for f
do
echo `wc -l <"$f"` lines in $f
done | sort -n
...하지만 더 잘 쓰여졌어
#!/bin/sh
# Sort files according to their line count
for f; do
printf '%d lines in %s\n' "$(wc -l <"$f")" "$f"
done | sort -n
백틱은 의 옛 형태로 , 가변 데이터를 출력하는 데 $( ... )
더 적합합니다. printf
추가적으로 변수 확장, 명령 대체 등을 참고해야 하며, 이 스크립트는 어떠한 기능도 사용하지 않으므로 bash
에서도 사용할 수 있습니다 /bin/sh
.
관련된: