셸 스크립트에서 리다이렉션된 인자에 대한 질문
글쓴이: kkb / 작성시간: 금, 2011/02/18 - 1:55오후
# cat file filename.c # echo file is filename.c > data
위와 같이 cat file을 실행하여
출력되는 파일의 이름을 "file is filename.c"라는 문자열로
다시 data 파일에 저장하고 싶습니다
스크립트를 사용하여 위와 같이 실행하려면
filename=`cat file` echo file is $filename > data
위와 같이 할 수도 있을 것 같습니다
되도록이면 한 줄에 실행했으면 좋겠습니다
리다이렉션을 두 번 하면 될 거 같은데
;를 사용하여 한 줄에 실행하는 것 말고요
어떻게 할 수 있을까요?
그리고, 리다이렉션할 때 리다이렉션 되는 위치를 정해줄 수도 있나요?
예를 들어서,
# cat file filename.c # cp original.c filename.c (혹은) # cp filename.c copy.c
위와 같은 실행을 원할 때, 각각
# cat file | cp original.c ??? (혹은) # cat file | cp ??? copy.c
해야 하는데 ???와 같이 리다이렉션되어 넘어오는 인자의 위치를 어떻게 지정할 수 있나요?
Forums:
$ echo file is `cat file` >
답변 감사합니다
답변 감사합니다
답변주신 스크립트 처럼 쓸 수도 있겠지만
위에서 ???를 대체할 수 있는 특수변수가 있지 않나요?
예전에 어렴풋이 봤던 기억이 있는데...
댓글 달기