bash에 -1번째 인수를 에코하도록 요청하면 hb1이 인쇄됩니다.
echo $-1
hb1
왜? 무엇에 액세스하고 있나요?
답변1
첫 번째 인수인 을 인쇄하도록 요청하는 것이 아닙니다 $1
.
당신이 요청한특수 매개변수:
-
(
$-
하이픈.) 호출 시 set 내장 명령을 통해 또는 쉘 자체(예: -i 옵션)에 의해 지정된 현재 옵션 플래그로 확장됩니다.
따라서 귀하의 옵션은 다음과 같습니다.hb
1
그러면 추가한 내용이 인쇄되는 것을 볼 수 있습니다 (그래서 hb1
).
마지막 매개변수를 찾고 있다면(-1 매개변수가 무엇을 의미하는지 확실하지 않음) 다음을 사용할 수 있습니다.쉘 매개변수 확장형태는 다음과 같습니다.
$ set -- one two three
$ echo "${@: -1}"
three