반응형
Bash 스크립트에 전달된 인수 수를 확인하려면 어떻게 해야 합니까?
Bash 스크립트에 전달된 인수 수를 확인하려면 어떻게 해야 합니까?
제가 현재 가지고 있는 것은 다음과 같습니다.
#!/bin/bash
i=0
for var in "$@"
do
i=i+1
done
이것을 하는 다른 (더 나은) 방법이 있습니까?
인수의 수는 다음과 같습니다.$#
자세한 내용은 이 페이지에서 검색하십시오.
#!/bin/bash
echo "The number of arguments is: $#"
a=${@}
echo "The total length of all arguments is: ${#a}: "
count=0
for var in "$@"
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"
원래 참조를 추가하려면:
특수 매개 변수에서 인수 수를 가져올 수 있습니다.$#값이 0이면 "인수 없음"을 의미합니다. $#읽기 전용입니다.
와 함께 사용할 경우shift인수 처리의 경우 특수 매개 변수$#Bash가 기본 제공될 때마다 감소합니다.shift실행됩니다.
섹션 3.4.2 특수 매개 변수의 Bash 참조 설명서를 참조하십시오.
"셸은 몇 가지 매개 변수를 특별히 처리합니다.이 매개 변수는 참조할 수만 있습니다."
$# 키워드에 대한 이 섹션에서는 "위치 매개 변수의 수(십진수)로 확장합니다."
다음은 쉬운 것입니다.
고양이 수 변수쉬
echo "$@" | awk '{print NF}'
출력:
#./countvariable.sh 1 2 3 4 5 6
6
#./countvariable.sh 1 2 3 4 5 6 apple orange
8
언급URL : https://stackoverflow.com/questions/4423306/how-do-i-find-the-number-of-arguments-passed-to-a-bash-script
반응형
'codememo' 카테고리의 다른 글
| Python: openpyxl 글꼴을 굵게 변경합니다. (0) | 2023.05.23 |
|---|---|
| Azure 스토리지 BLOB에 캐시 제어 및 만료 헤더 추가 (0) | 2023.05.23 |
| #if RELEASE가 C#에서 DEBUG가 #처럼 작동합니까? (0) | 2023.05.23 |
| ReportGenerator에서 코드 적용 범위 결과 게시가 작동하지 않음 (0) | 2023.05.23 |
| jQuery를 사용하여 div의 하위 요소를 어떻게 반복합니까? (0) | 2023.05.23 |