我需要执行上一个命令的结果,但我不知道如何处理。
我有一个第一个命令,它返回一条登录服务器的指令,然后我想在之后执行它。
my-first-command返回:docker login ...
例如:
> my-first-comnand | execute the result of my-first-command
答案 0 :(得分:1)
我使用$(!!)
。正如查尔斯指出的那样,这可能不是每个人都想做的事情,但它对我有用,比其他答案更适合我的目的。
$ find ./ -type f -name "some.sh"
$ $(!!)
!!
是一个包含最后一个命令的变量,放入$( )
会使其执行。
这对于在输出上执行其他操作也很有用,因为$( )
被视为变量。
答案 1 :(得分:1)
我应该这样做。
my-first-command | bash的
答案 2 :(得分:0)
最方便的方法是使用反引号`your_command`
内联执行子命令并立即在主命令中使用输出。
示例:
`find ~/Library/Android/sdk/build-tools/* -d 0 | tail -1`/zipalign -f 4 ./app-release-unsigned.apk ./app-release.apk
在此示例中,我首先find
从正确的目录开始执行zipalign。就我而言,可能有多个目录(find返回两个目录),所以我使用tail
获得了最后一个目录。然后我直接使用以前的结果作为路径来执行zipalign,以更正zipalign二进制文件。