问题标签 [command-substitution]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3409 浏览

bash - 在 msys bash 上包含换行符时 PS1 命令替换失败

此命令成功

但是,如果我添加换行符,它会失败

如果我使用反引号,它会起作用

不鼓励使用反引号。那么是什么导致了这个错误呢?

0 投票
2 回答
104 浏览

bash - bash 命令替换强制到前台

我有这个:

当在带有 bash 4.1.2 的机器上运行时,总是正确返回,除非我将所有 4 行都放在顶部。

当在带有 bash 3.00.15 的机器上运行时,它会在顶部给出我所有的 4 行新行,在输出中间返回提示,并且永远不会完成只是挂起。

我真的很想为这两个版本解决这个问题,因为我们有很多机器同时运行这两个版本。

0 投票
2 回答
388 浏览

zsh - 当命令替换失败时,如何使 zsh 失败整行?

如果我做:

我明白了

这让我有点担心,因为这意味着 zsh 正在执行bleh,而这从未打算成为命令;如果它恰好是可执行的并且做了我不想要的事情怎么办?

有没有办法让整条线在失败的那一刻blah失败?

0 投票
1 回答
736 浏览

bash - 如何区分脚本中的“命令替换”和“子shell”?

我需要区分两种情况:( ...subshel​​l... ) vs $( ...命令替换...)

我已经有了以下函数,它可以区分在命令替换或子 shell 中运行和直接在脚本中运行。

示例输出:

期望的输出

但我想更新代码,以便区分命令替换和子shell。我希望它产生输出:

trapPS 我需要区分这些情况,因为当在命令替换和子 shell 中运行时,Bash 对内置命令有不同的行为。

PPS 我也关心echoScriptRunWay | cat命令。但这对我来说是我在这里创建的新问题。

0 投票
2 回答
1303 浏览

mysql - BASH:SSH 进入服务器,查询 MYSQL 有趣的东西

我的脚本遇到了一些问题,该脚本应该通过 SSH 连接到我的服务器、运行 mysql 查询并返回特定值。

我的问题是,当我使用命令替换 [ $() 和 `` ] 时出现访问被拒绝错误 - 但如果没有命令替换,我不会将结果保存到变量中。

我有完全权限,而且密码是正确的。

0 投票
5 回答
145 浏览

bash - 将带有最终换行符的打印字符串添加到 bash 变量中

我在 bash 中定义了以下函数:

我还有一个变量,$CHANGES里面有一些文字。我需要做的是将打印的字符串print_revision添加到$CHANGES变量中。

我尝试了以下方法,但似乎不起作用:

它预先添加所有内容,print_revision但它通过最后两个换行符,在该部分$CHANGES之后连接内容。-----

我怎样才能达到我所需要的?

0 投票
4 回答
4552 浏览

bash - xargs:用管道替换命令 $(...) 不起作用

我正在尝试编写简短的脚本和以下命令:

Returns aaa222 bbb222,这是我所期望的。

我期待下一个命令:

返回相同,但它返回aaa111 bbb111!这是为什么?


UPD:我想要实现的目标:

我有很多文件,如pic30-coff-gcc,pic30-coff-ag等,我需要为每个文件创建一个符号链接,如pic30-gcc->pic30-coff-gcc等。

所以我写了这个:

它不起作用:对于每个文件,它报告该文件存在。我检查了这样的命令:

是的,这sed部分不起作用:

但如果我只是输入

有用:

然后我用 编写了测试命令aaa111,它也不起作用。还是不明白,为什么。

0 投票
3 回答
44859 浏览

bash - Bash中的反引号与大括号

当我回答这个问题时,我打算使用这个${}符号,因为我在这里见过很多次,所以它比反引号更可取。

但是,当我尝试

我收到了消息

工作正常。那么我还需要进行哪些其他更改?

0 投票
1 回答
365 浏览

shell - 鱼:交互式命令的命令替换问题

我正在尝试为fish shell设置“ fzf - Fuzzy finder for your shell ” 。问题是当我在命令替换中使用交互式命令时它不起作用。例子:

此命令有效:(回显当前目录中的所有文件,我可以通过模糊查找器交互选择一个)

但这一个不起作用:

它只是立即返回空字符串。

它不适用于任何交互式命令,所以如果你没有fzf,你可以用,比如说,从我的头顶上测试它,chsh

此命令有效:(要求输入密码)

但是这个没有:(立即返回空字符串)

此外,当我尝试退出鱼时,它说“有停止的工作”,即交互式命令启动并立即停止。

如何让它发挥作用?

0 投票
0 回答
126 浏览

bash - Bash 命令替换冻结

目前我在bash脚本冻结时遇到了以下情况

经过分析发现,即使这个命令冻结

在 bash 脚本中使用 set -x,我可以看到以下输出

对于脚本

该脚本是从 Qt 进程调用的,最近一切正常。当我从 bash 手动调用这个脚本时它也可以工作,但是当我从进程中调用它时它会失败。目前我正在寻找这种冻结的可能原因,我没有更多的想法。当我打印它们匹配的环境时,但我也不能在 ` 中进行 prinenv ,因为它也会冻结。