이 기사를 읽은 후:배쉬 이벤트 표시기!?commandString
, 예를 들어 만들 수 있습니다 . 그래서 나는 이렇게 했습니다:
$find somedir -iregex '.*Makefile.*'
$bla/bla/Makefile
$bla/bla/bla/Makefile
$...
이제 이벤트 디자이너와 함께 파이프를 사용하고 싶습니다.
$!?nameOfFile | sed -n 'p1' | xargs cd
잘:
bash: !?Makefile | sed -n '1p': event not found
전체 행을 이벤트로 사용합니다. 그러면 end
추가 처리를 위해 이벤트를 어떻게 만들 수 있습니까?
답변1
링크된 매뉴얼에서:
문자열 바로 뒤에 개행 문자가 오면 후행 "?"를 생략할 수 있습니다.
문자열이기 때문에아니요그 뒤에는 개행 문자가 오고, 그 뒤에는 다음이 있어야 합니다 ?
.
!?nameOfFile? | sed -n 'p1' | xargs cd
xargs cd
하지만 이는 별도의 프로세스에서 실행되므로 cd
쉘이 영향을 받지 않으므로 도움이 되지 않습니다 . 다음과 같은 것이 필요합니다.
cd "$(!?nameOfFile? | head -n1)"