명령에 인수를 추가하는 방법을 알고 싶습니다.
나는 이것이 다소 다음과 같기를 바랍니다.
$ 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꽤 적절하게.
NB 이 줄은 echo "Usage: $0 [--test]"
몇 가지 도움말 메시지를 제공하는 것을 목표로 하며 대괄호 안에 선택적 인수를 나타내는 규칙을 사용합니다.
도움이 되었기를 바랍니다.