$#의 변수는 무엇입니까?

$#의 변수는 무엇입니까?

저는 Linux를 시작하는 방법을 배우고 있는데 이해하지 못하는 내용을 발견했습니다. "다음 명령이 실행되었습니다.

set 10 20 30 40 50

변수 값을 입력하세요 $#.

내가 이해하는 것은 변수 $1=10 $2=20등입니다. 그럼 $#어떻게 될까요?

답변1

다음 bash를 가정하십시오.

#!/bin/bash
echo $#

이것을 실행하면 ./arg.sh g jt t uu
셸에 전달한 인수 수인 4가 반환됩니다.

쉘 스크립트의 매개변수를 연구하는 것이 좋습니다.
다음과 같은 프로그램 사용법이 있다고 가정합니다. --value PATTERN -o PS_COMMAND_OPTIONS
그러면 다음과 같이 코드를 조사할 수 있습니다.

if [ "$1" = "--value" -a "$3" != "-o"  -o "$1" != "--value" -a "$3" = "-o" -o ! $# -eq 4 ]; then
    help;
    exit;
fi;

답변2

저도 리눅스를 시작하고 있습니다. 나는 그것이 총 매개 변수 수를 의미한다는 것을 이해합니다. 다음과 같이 사용할 수 있습니다.

#!/bin/bash
if [ $# = 2 ]
    then echo "Your name is $1 $2"
else
    echo "You need two arguments"
fi

관련 정보