阅读本文后:bash 事件指示符,我可以制作例如!?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
,因此您的 shell 不会受到影响。你需要类似的东西:
cd "$(!?nameOfFile? | head -n1)"