나는 훌륭한 쉘 스크립트의 끝에서 이것을 보았지만 더 긴 명령이 누락된 것 같아서 여기서 논리를 이해할 수 없습니다.
spark ${@:-`cat`}
마지막에 이런게 나오네요이 스크립트. 어떤 아이디어가 있나요?
+ 속도가 느리더라도 이를 완전한 코드 조각으로 확장한 사람에게 플래그를 지정하세요(더 나은 설명)
답변1
이는 매개변수 대체의 첫 번째 특수한 경우입니다 man bash
.
${parameter:-word}
기본값을 사용합니다. 설정되지 않거나 null인 경우parameter
대체할 확장자입니다. 그렇지 않으면word
값이 대체됩니다.parameter
언급한 경우 사용자가 명령줄에 인수를 제공하면 사용되거나 사용자가 표준 입력에 인수를 입력해야 합니다.
답변2
Afaik :-
기본적으로: $@
OR `cat`
( $@
로 설정되지 않음 `cat`
)을 사용하세요...
그래서 일부 변수 대체 항목...
편집: 그래서 일종의 대화형 입력을 제공합니다...
다음은 터미널 테스트입니다.
localhost:~ _druu$ echo ${@:-`cat`}
hello
world
;)
^\hello world ;)
localhost:~ _druu$