如何在bash / shell脚本中使用双重爆炸开始一行,以便再次运行最后一个输入?
我想将上次运行程序的过去输出传递给新程序。例如,如果我最后运行ls -l
,现在我运行此脚本,我想将ls -l
传送到<some program here>
进行操作。
#! /bin/sh
!! | <some program here>
我正在
!!:不是 结果
答案 0 :(得分:0)
如果你真的想在脚本中再次执行命令,你可以访问~/.bash_history
文件以获取历史记录(如果有多个终端窗口打开,这可能是错误的!)。
如果您只想获取命令的输出并将其传递给包含程序的shell脚本,那么您的命令将如下所示:
<yourcommand> | ./yourscript.sh
您的脚本可能如下所示:
#!/bin/sh
sed 's/a/b/g' <&0
其中<&0
部分将脚本的stdin管道传递给sed命令。