在分隔符或管道之前调用命令

问题描述 投票:0回答:1

如果我运行如下命令:

wget http://localhost.com/something.zip -O /tmp/out.zip; echo "I want to call the command that was executed before this command"

或者

wc -l somefile.txt | echo "how do I call this command on the left?"

我想要的是,当我运行第一个命令时,我可以将

wget http://localhost.com/something.zip -O /tmp/out.zip
作为字符串调用,并使用 echo 或其他方式调用它

和第二个命令一样,我也想调用

wc -l somefile.txt
并将其保存为字符串并希望能够调用它

我尝试过这样的命令

wget http://localhost.com/something.zip -O /tmp/out.zip; echo !:p

还有

wc -l somefile.txt | echo !:0

却没有得到我想要的结果

command1; command2
command1 | command2

我希望能够从command2调用command1,所以例如我可以使用以下命令将其放入txt文件中:

wget http://localhost.com/something.zip -O /tmp/out.zip; echo $command1 > log.txt
cat log.txt
wget http://localhost.com/something.zip -O /tmp/out.zip

有人可以帮助我吗?如果你愿意帮助我我会很高兴

linux bash command-line-interface
1个回答
0
投票

您不能在同一行上执行此操作,但您可以使用历史扩展在两行中执行此操作:

wc -l somefile.txt
!!:p

!!
展开到上一个命令行。将
p
放在单词指示符之后(该指示符为空,因此未选择特定单词)会打印它而不执行它。

© www.soinside.com 2019 - 2024. All rights reserved.