bash - 프로그래밍 - 쉘스크립트 강좌




Bash 스크립트에 넘겨주는 인수의 수를 어떻게 찾습니까? (4)

그 값은 변수 $# 포함되어있다 $#

Bash 스크립트에 넘겨주는 인수의 수를 어떻게 찾습니까?

이것은 내가 현재 가지고있는 것입니다 :

#!/bin/bash
i=0
for var in "[email protected]"
do
  i=i+1
done

이 작업을 수행하는 다른 (더) 방법이 있습니까?


아래는 쉬운 하나입니다 -

cat countvariable.sh

echo "[email protected]" |awk '{for(i=0;i<=NF;i++); print i-1 }'

출력 :

#./countvariable.sh 1 2 3 4 5 6
6
#./countvariable.sh 1 2 3 4 5 6 apple orange
8

원래 참조를 추가하려면 :

특수 매개 변수 $# 에서 인수의 수를 얻을 수 있습니다. 값 0은 "인수 없음"을 의미합니다. $# 은 읽기 전용입니다.

인수 처리를 위해 shift 와 함께 사용하면 특수 매개 변수 $# 가 Bash Builtin shift 가 실행될 때마다 감소합니다.

3.4.2 특수 매개 변수의 Bash 참조 매뉴얼참조 하십시오.

  • "쉘은 여러 매개 변수를 특별히 처리합니다.이 매개 변수 "

  • 이 섹션에서는 키워드 $# "10 진수의 위치 매개 변수 수로 확장됩니다."


#!/bin/bash
echo "The number of arguments is: $#"
a=${@}
echo "The total length of all arguments is: ${#a}: "
count=0
for var in "[email protected]"
do
    echo "The length of argument '$var' is: ${#var}"
    (( count++ ))
    (( accum += ${#var} ))
done
echo "The counted number of arguments is: $count"
echo "The accumulated length of all arguments is: $accum"




arguments