다음과 같은 명령이 있습니다.
echo test
이제 zsh에서 기록 확장이 포함된 다른 명령의 마지막 매개변수를 사용하고 싶습니다. 내 또 다른 명령에는 앞에 콜론 ":"이 있으므로 내가 원하는 결과는 다음과 같습니다.
echo test:someothertext
다음과 같이 Linux bash 기록 확장을 사용해 보았습니다.
echo !!$:someothertext
:s는 수정자로 해석되어 다음과 같은 결과를 낳습니다.
echo testsomeothertext
따라서 필수 콜론이 누락되었습니다.
실제 시나리오는 더 유용하며 git 명령(git showbranch:file)을 사용하지만 이 에코 예제는 모든 시스템에서 재현하기가 더 쉽습니다.
콜론에 대한 이스케이프 방법으로 "\"를 사용해 보았지만 작동하지 않았습니다("\"도 결과에 인쇄됨). 두 번째 콜론이 표시되지 않도록 유효한 수정자를 사용해 보았습니다. 해석되었지만 효과가 작동하지 않습니다.
그래서 나는 이것을 시도했습니다 :
echo !!$:p:someothertext
결과 :
zsh: substitution failed
답변1
좋지는 않지만 bash
이 경우에는 작동합니다.
echo !!$\
:someothertext
답변2
언제든지 다음을 사용할 수 있습니다.
echo !!$':moretext'
또는:
echo !!$'':moretext
또는:
echo $_:moretext