인수를 전달 : 여기 함수 호출 결과 플래그와 내가 같이 현재 스크립트를 업데이 트하려는
$ example.sh a b
는 인수에 소요
example.sh
for var in "[email protected]"
do
$var
done
내 코드입니다 이러한 인수는 반복되고 실행됩니다 (이러한 인수가 있다고 가정 할 때).
이 flags
이 scripts/functions이고 그 이후의 모든 내용이 함수의 인수로 적용되도록 스크립트를 업데이트하고 싶습니다.
$ example.sh --a 1 2 3 --b 4 5 6
모든 플래그를 반복하고 이에 해당하는 항목을 실행하고 싶습니다.
a 1 2 3
b 1 2 3
나는 getopts
로 보았다하지만 그것은 나를 실행하고 인수에 내가하고 싶은 길을 통과 할 수 있는지 확실하지 않다.
내가 뭘하려 :
while getopts ":a:b:c:d:" opt; do
case "$opt" in
a) i=$OPTARG ;;
b) j=$OPTARG ;;
c) k=$OPTARG ;;
d) l=$OPTARG ;;
esac
done
echo $i
echo $j
for file in "[email protected]"; do
echo $file
done
나는
example --a 1 2 3 --b 4 5 6
만
OPTARG
를 사용하여 첫 번째 항목을 지정하고이 제대로 작동하지 않습니다 주어진 다음 스크립트를 발견했다. 이 형식으로 함수에 인수를 적용하는 방법을 잘 모르겠습니다.
이는 "공백 또는 쉘 와일드 카드 또는를 포함하는 모든 인수를 misparse 위하여려고하고 있다는 것을 시도 - ". –
@GordonDavisson 네, 그 대답은 최상위는 아니지만 우리는 cmd의 유형에 대해 아무 것도 모릅니다. –