问题标签 [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 投票
2 回答
909 浏览

bash - 从 bash 中的变量解释命令替换

对于 FOO 的以下值:

我怎样才能得到预期的输出:

基本上,我如何解释变量内容中的命令替换?

0 投票
2 回答
8449 浏览

bash - Shell sha1($salt.$password) 错误

我尝试直接在我的控制台上做这样的事情作为一些测试运行:

它似乎不起作用..知道我在做什么错误

它抛出了一个错误,这是我最后打算做的:

有人可以帮忙看看我在做什么错误吗?

0 投票
1 回答
981 浏览

oracle - 检查oracle日志目录

我正在使用 check_logfiles nagios 插件来监控 Oracle 警报日志。为此目的,它非常有效。

但是,我还需要监视整个 oracle 跟踪日志目录中的错误。这是因为 oracle 数据库总是创建具有不同名称的新日志文件。

我需要知道的是扫描整个 oracle 跟踪日志目录以找出哪些匹配指定 oracle 警报的模式的最佳方法。

使用检查日志文件我尝试指定这些选项 -

并指定日志目录 -

两者都没有任何效果。检查运行但返回正常。有谁知道这个名为 check_logfiles 的 nagios 插件是否可以监视文件目录而不仅仅是单个文件?或者也许还有另一种更好的方法来实现监视一堆无法提前指定的文件的相同目标?

0 投票
1 回答
4721 浏览

bash - 用变量替换 Bash 命令

我有一个 bash 脚本,它基于文件列表构建命令,因此该命令是动态构建的。即时构建它意味着它被存储在一个变量中。然后我想运行该命令并将输出存储在一个单独的变量中。当我使用命令替换来尝试运行命令时,它会出错。当变量使用管道时,如何让命令替换与变量中的命令一起使用?

这是我的脚本:

如果我运行该程序,则输出:

如果我运行该 cmd,则输出:

0 投票
2 回答
2315 浏览

shell - Shell 编程:带有命令替换的嵌套表达式

我在处理其他表达式中的表达式时遇到了麻烦。例如,这是我的代码:

我想要的只是让 echo 打印没有'0x'的数字。假设输入为 0x15,则输出应仅为 15。但似乎查找字符串的长度失败了。

现在,如果我像这样创建另一个名为 length 的变量:

有用。

那么如何在不创建另一个变量的情况下获得相同的结果呢?

0 投票
2 回答
1101 浏览

bash - 命令替换中断命令替换

我将一个 shell 脚本的一部分提取到另一个 shell 脚本中,并且由于某种原因在调用子脚本后,命令替换停止工作。我无法想象这是子脚本中的内容,但我也看不出我做错了什么。

我是否这样做:

或者我做:

dirname 似乎工作正常,但反引号并$()停止工作。命令替换只返回一个空字符串。

编辑:删除所有双引号""没有效果

EDIT2:调用子脚本时显式执行 bash 无效

EDIT3:保存"$(dirname "$0")"到变量并使用它没有效果

EDIT4:向echo子脚本添加相同的命令表明子脚本中的一切都很好

EDIT5:根据要求,脚本的输出

0 投票
3 回答
31696 浏览

bash - 如何避免 bash 命令替换以删除换行符?

为了加快一些 bash 脚本的执行,我想使用命令替换将命令的结果保存在变量中,但是命令替换用空格替换0x0A换行符。例如:

或者

当我想进一步处理$a时,换行符被空格替换,所有行现在都在一行上,这更难 grep:

避免命令替换删除换行符的简单技巧是什么?

0 投票
4 回答
4133 浏览

bash - 命令替换与进程替换

我试图了解这两个类似命令之间的区别。

  • 我知道这<()需要#!/bin/bash,但这会使其变慢吗?
  • 他们创建相同数量的子壳吗?
  • 它们是否需要相同数量bashsh流程?

我希望使用性能最佳的命令。

0 投票
2 回答
2558 浏览

macos - Bash 命令替换 stdout+stderr 重定向

再会。我有一系列我想通过函数执行的命令,以便我可以获取退出代码并相应地执行控制台输出。话虽如此,我在这里有两个问题:

1) 我似乎无法将stderr 指向/dev/null。

2) 在执行 $1 之前,不会显示第一个回显行。直到我运行需要一段时间才能处理的命令(例如在硬盘驱动器中搜索文件)之前,它并不是很明显。此外,很明显情况确实如此,因为输出如下所示:

换句话说,stderr 显示在 "Attempting... $2" 之前

这是我尝试使用的功能:

任何帮助或建议表示赞赏。

0 投票
1 回答
589 浏览

linux - 将命令结果分配给变量时,Shell 挂起

我最初的问题是在超时时杀死一个进程及其子进程。而且我发现 GNUtimeout是一个不错的选择。

然而,在这个测试用例中,事情变得很奇怪:

假设我们有test1.sh这样的:

像这样run.sh

直觉上我们应该期望test1.sh立即退出,因为init将负责那个愚蠢的sleep过程run.sh然后退出。

然而:

如果我创建这个test2.sh

所以,很明显我们在命令替换过程中遇到了一些错误,但是为什么呢?