2013-01-08 3 views
1

유틸리티 ksh 스크립트의 맨 처음에 '$ #'문을 발견했지만 '$ #'이 무엇을 의미하는지에 대한 정보를 찾을 수 없었습니다. 사용법 :

if [[ $# -ne 1 ]];then 
LogMessage "Usage:\nJavaWSJBossInstall! war_file" 
exit 
fi 

누구나 설명 할 수 있습니까? 고마워요.

답변

3

셸 변수 #은 스크립트에 대한 인수의 개수입니다. $1, $2 등으로 액세스 할 수 있습니다.

+1

쉘 변수의 이름은'#'입니다. '$ #'은 (picky, picky) 값을 준다. – cdarke

+0

@cdarke +1. 그에 따라 편집 된 답변. – kmkaplan

1

스크립트에 전달 된 명령 줄 인수의 수로 계산됩니다.

이런 종류의 것을 발견하기 가장 좋은 곳은 Bash manual입니다. 이 특별한 경우에는 special parameters 섹션에 관심이 있습니다. (oops, 이것은 bash가 아닌 ksh입니다.)

+0

수동 조언은 여전히 ​​유효합니다. http://man.cx/ksh –

1

$ #는 스크립트에 제공되는 명령 줄 인수의 수를 나타냅니다. 귀하의 경우 정확히 하나의 인수가 전달되었는지 여부를 확인합니다. 그렇지 않으면 사용법을 설명하는 일부 문자열이 인쇄됩니다.

0

man ksh을 참조하십시오. $#은 명령 줄 매개 변수의 수를 제공합니다.

if (($# != 1)); 
0

변수 # 스크립트에 전달 된 인수의 수를 포함대로 if 문은 기록 될 수 있습니다. 이 같은 스크립트를 호출하는 경우 :

script foo bar 

$#2을 소중하게을 줄 것이다.

+0

'$ #'은 변수가 아닙니다. '#'은 변수이고,'$ #'는 값입니다. – cdarke