>> Edit article
이름
제목
패스워드
쉘에서 * 기호는 해당 디렉토리 전체 파일목록을 뜻합니다. 말씀처럼 a* 라고 입력하면 먼저 a로 시작하는 파일이 있다면 각각 인자로 넘어가겠지만 그렇지 못해서 입력값 그대로(a*)가 첫번째 인자로 받아들여진 것이고, w*라고 입력한 경우는 해당 경로에 존재하는 w로 시작하는 파일들이 각각 첫 번째, 두번째, 세번째 인자로 전달되었기 때문에 그렇게 출력된 것입니다. 파일목록과 관계 없이 * 기호를 사용해야 한다면 따옴표로 묶어서 전달해 줘 야겠죠. # ./test 'w*' : 안녕하세요. 숙제하는 도중에 잘 모르는게 있어서 이렇게... : 혹시 아시는 분 계시면 알려주시면 감사드리겠습니다. : : ksh을 사용하는데 제가 만든 스크립트가 있는데 : 스크립트가 선택적으로 파일을 표시해야되거든요. ls a* 와 같이... : 그런데 이상한점이... : ======================= : #!/bin/ksh : : echo "argument 1 : $1" : echo "argument 2 : $2" : echo "argument 3 : $3" : ======================= : 예를들어 위를보면 인수 첫번째, 두번째, 그리고 세번째를 인쇄하기로 : 되어있는 간단한 스크립트가 있는데... : : 아래에서 보이는것과 같이 a* 은 제대로 표시가 되는데 왜 w* 은 파일명 이 : 표시가 되는걸까요? 제 디렉토리에 a 로 시작하는 파일들은 없고 w 로 시 작 : 하는 파일은 3개가 있거든요. 그래서 그런것 같은데... : 어떻게하면 w* 라는 글자가 정확하게 찍히게 할 수 있는지... : : /students/skwon01> ./test a* : argument 1 : a* : argument 2 : : argument 3 : : /students/skwon01> ./test w* : argument 1 : wc : argument 2 : www : argument 3 : www.Z : /students/skwon01> : : 아시는분의 답변을 기다리겠습니다. : 읽어주셔서 감사합니다.
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved