Lio*_*ana 15 bash command-line ubuntu
我有输出不同命令行的命令行,例如:
> commandlineA param1 param2
commandlineB param1
Run Code Online (Sandbox Code Playgroud)
我想要一个单一的命令行执行,它将使用给定的参数运行 commandlineB。
有没有什么简单的方法可以使用单个命令行来做到这一点,或者我是否需要运行一个小的 bash 文件来将输出存储在一个变量中然后运行它?
谢谢
Chr*_*ock 19
您似乎已经自己解决了这个问题,但您可以使用:
$(command parameter1 parameter2)
Run Code Online (Sandbox Code Playgroud)
编辑编辑:下面有点错误,虽然它确实在子shell中运行命令,但事实证明环境变量仍然可用。抱歉误导了大家...
编辑:将在子shell中运行,不会使用任何未导出的环境变量。如果要在同一个 shell 中运行命令,则需要使用:
eval $(command parameter1 parameter2)
Run Code Online (Sandbox Code Playgroud)
给出的另一个答案是通过 bash 本身进行管道传输:
echo 'uname -a' | bash
Run Code Online (Sandbox Code Playgroud)
这也将在子shell中执行,要在您需要的同一个shell中运行:
echo 'uname -a' | bash -c
Run Code Online (Sandbox Code Playgroud)
顺便说一句,您也可以使用反引号代替 $() 语法,但不推荐使用。
| 归档时间: |
|
| 查看次数: |
19502 次 |
| 最近记录: |