Bra*_*rks 12 shell bash command-history subshell
我经常使用子外壳运行命令,有时希望在运行某些东西之前扩展子外壳。这样我可以验证我在做什么,并可能编辑即将发生的事情。
例如,如何在运行之前扩展以下命令行,以便我可以编辑子shell的结果?
例如
$ find -name "test.txt"
/tmp/test.txt
$ mv $(!!) /tmp/new.txt
Run Code Online (Sandbox Code Playgroud)
我希望在运行命令之前看到扩展的子shell ,如下所示:
$ mv /tmp/test.txt /tmp/new.txt
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
shell-expand-line( \e\C-e) 扩展 bash 中的命令替换。
$ bind -p|grep shell-ex
"\e\C-e": shell-expand-line
Run Code Online (Sandbox Code Playgroud)
$(!!)\e\C-e 将再次运行上一个命令并插入输出:
"\eo": "$(!!)\e\C-e"
Run Code Online (Sandbox Code Playgroud)
它还扩展了其他命令替换,但没有像shell-expand-word.
在 bash 4.0 或更高版本中,您还可以启用globstar、键入**/file.txt和使用glob-complete-word( \eg) 或glob-expand-word( \C-x*)。
| 归档时间: |
|
| 查看次数: |
1767 次 |
| 最近记录: |