Kar*_*ter 10 command-line bash subshell
我想将mktempas 参数的结果传递给命令,比方说gcc -o。gcc -o $(mktemp)导致使用结果,但我需要弄清楚结果。
我唯一能想到的是gcc -o $(out=$(mktemp); echo $out),但这不会将值打印到控制台,而是用作参数值,这是正确的 afaik。
有什么办法可以得到mktemp打印到控制台的结果。
我有能力在脚本中解决这个问题。我想通过您希望提出的单行解决方案来拓宽我的知识。
我想bash在 Ubuntu 19.04 上使用它。
ste*_*ver 18
如何tee使用/dev/tty?
$ gcc -o $(mktemp | tee /dev/tty) hello.c
/tmp/tmp.UBSSnulNn2
$ /tmp/tmp.UBSSnulNn2
Hello, world!
Run Code Online (Sandbox Code Playgroud)
有关的:
在 中切换gcc -o $(out=$(mktemp); echo $out):
out=$(mktemp); echo "$out"; gcc -o "$out" hello.c
Run Code Online (Sandbox Code Playgroud)
...这也方便地将路径留在变量中供以后使用。(大概您不想只看到输出中的路径来欣赏mktemp随机名称生成的美感,对吗?您希望该路径在其他地方使用它。)
| 归档时间: |
|
| 查看次数: |
910 次 |
| 最近记录: |