명령에 매개변수를 추가하는 방법을 알고 싶습니다.
나는 이것이 다음과 같이 보이기를 원합니다 :
$ arg --test
"arg"는 기본 명령이고 "--test"는 인수입니다.
답변1
와 사이에 번호가 지정된 인수의 경우 0
( 9
여기서 x
는 특정 번호가 지정된 인수임) 다음 표기법을 사용합니다.
$x
위의 숫자 매개변수에 대해 는 x
특정 숫자 매개변수이고 다음 표기법을 사용합니다.
${x}
모든 매개변수 목록을 얻으려면 다음 명령을 사용하십시오.
${@}
아니면 이거:
${*}
큰따옴표로 묶으면 ${*}
공백으로 구분된 모든 인수(일반적으로 기술적으로 변수의 첫 번째 문자 $IFS
(내부 필드 구분 기호))가 문자열로 확장됩니다. ${@}
큰따옴표로 묶으면 여러 문자열로 확장됩니다.
${@}
또는 를 사용할 때는 괄호가 필요하지 않습니다 ${*}
.
답변2
이미 답변된 질문과 중복될 수 있습니다. 그러나 아래의 매우 기본적인 쉘 스크립트를 통해 귀하의 요청에 대한 가능한 해결책을 찾으십시오.
#!/bin/bash
for i in ${@} ; do
case ${i} in
--test) echo "test option found"
;;
*) echo "Usage: $0 [--test]"
exit 1
esac
done
echo "$0 finished."
명령줄에서 이 쉘 스크립트의 옵션을 사용하면 더 많은 내용을 배울 수 있습니다. 이것은 첫 번째 답변에 추가 될 수 있습니다JL2210매우 적절합니다.
이 행은 echo "Usage: $0 [--test]"
일부 도움말 메시지를 제공하기 위한 것이며 대괄호 안에 선택적 매개변수를 표시하는 규칙을 사용합니다.
도움이 되었기를 바랍니다.