현재 시스템에 찾아보려는 사용자를 여려명 한꺼번에 찾아, 그 결과를 보여주는 예제:
cat snooper #!/bin/sh # 사용자가 현재 접속중인지 확인하는 스크립트 for i in $* do if who | grep -s $i > /dev/null then echo $i : 접속 중. else echo $i : 사용 중이 아님. fi done
if 문 설명에서 나온 예제의 경우는 그 스크립트의 인자로 하나 밖에 사용할 수 없지만, 여기서 for 문을 이용해서, 여러 명의 사용자를 한꺼번에 확인해 볼 수도록 하고 있습니다.
다른 디렉토에 있는 같은 이름을 가진 여러 파일을 비교하는 경우:
#!/bin/sh # "old" 디렉토리에 있는 같은 파일 비교하기 for i in * do echo $i: cmp $i old/$i echo done
for 문에서 list-of-words 부분이 빠지면, 이것은 $* 변수값이 사용됩니다. 즉, 아래의 예제의 경우는 이 스크립트의 인자로 주어지는 이름의 크기가 0 바이트인 파일들을 만듭니다.
#!/bin/sh # 여러 파일 만들기 for i do > $i done
for 문이 사용되는 전형적인 예제들:
#!/bin/sh # 현재 디렉토리에 있는 모든 파일을 대상으로, # 그, 개신 시간에 따라 특정 작업을 하는 경우 for i in `ls -t` do ... done # fred 라는 문자열을 포함하지는 모든 줄에 대한 작업 for i in `cat filelist | grep -v fred` do ... done # 이중 for 문. 하위디렉토리 검색 for i in `for i in * do if test -d $i then echo $i fi done` do ... done