问题标签 [ash]

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 回答
451 浏览

linux - 如何使用命令的输出作为 linux 中其他程序的输入?

我有一个在 linux 上运行的程序

该程序从标准输入获取输入

所以我可以用这种方式用输入文件启动它

为了避免在程序中输入输入

现在我希望程序从命令输出中获取输入。类似的东西

但这不起作用,因为它需要一个文件而不是命令。

我怎样才能使它工作?是否有外壳语法可以使其工作?

注意:我不能像这样使用管道anycommand | myprogram

0 投票
3 回答
93 浏览

linux - 如何避免从 linux 命令输出中显示第 2 行?

我有一个程序在输出中显示多行

我怎样才能让它显示除前两行之外的所有输出?

0 投票
1 回答
92 浏览

regex - 过滤命令输出时出现正则表达式错误

我想从以下命令中过滤行:

我只想提取包含目标01020300和掩码的行FFFFFF00

我尝试使用以下正则表达式,但它不起作用

我是新的正则表达式格式。你能帮我用一个好的正则表达式来解决这个问题吗?

0 投票
1 回答
2083 浏览

linux - 使用灰壳“for x in y”

首先,我使用的系统上没有安装 bash。所以,请不要基于 bash 的答案。Ash 不if使用正则表达式。

在 ash shell 脚本中,我有一个可接受的响应列表:

一个菜单例程返回了“MENU_response”,其中包含一个可能匹配的响应,我想看看我是否得到了一个有效的响应。

循环中的回声正在重新发布$t= all of $channels,这是没有意义的。我已经在其他几个地方使用过这种技术,并且效果很好。

有人能告诉我为什么会这样吗?我需要在每个人周围加上引号channel吗?

0 投票
3 回答
927 浏览

linux - 在以下示例中,如何仅通过一个 awk/sed 命令更改 grep 和 cut 命令?

我有一个文件包含:

我想提取包含正则表达式的行"aaa\.bbbb0\.xxxx[0-6]\+=toto",然后提取路径中的第三个元素。所以输出应该是这样的

我可以使用grep然后cut以这种方式获得此输出:

如何仅通过一个命令或grep命令更改上述内容?cutsedawk

0 投票
2 回答
6736 浏览

linux - 如何根据行中的子字符串对行进行排序

我有以下输出:

我想根据 value.s 对上述行进行排序,因此输出应如下所示:

更新

我尝试了以下命令:

但是太长了。

还有比上述更好的建议吗?

注意:我的 linux 使用来自 busybox 的排序,它仅支持以下选项:

0 投票
2 回答
259 浏览

linux - 如何根据字符串行对输出进行过滤?

我有以下输出

我有一个字符串str,其中包含:

并且我只想显示字符串行中存在的包含字符串的行

所以我的输出将是:

0 投票
0 回答
345 浏览

bash - 如何检测由于远程机器上的非 bash shell 而导致的 ssh 命令失败?

看来这个问题需要一些解释。

当前,我编写了一个 ssh 包装器 bash 函数,用于启动或恢复远程主机上的 tmux 会话。

它的存在对用户来说是完全透明的,您只需键入ssh host,因为function ssh() { ... }在您的内部定义了.bash_profilethis 将被执行而不是真正的 ssh。

现在,我确实遇到了这个问题,在一小部分主机上,他们没有真正的 shell,并且他们有一个伪 shell,如果它接收到它不理解的命令,它会断开 ssh 连接。示例:NetScaler、Synology(使用ash)、CISCO 路由器、...

我想要做的是在 ssh() 包装器中嵌入一些登录信息,这样它就不会在这些机器上失败。最初我创建了一个黑名单,但这很快就变得难以管理,我需要一个适当的修复。

如何从 bash 函数内部解决这个问题?

0 投票
1 回答
1547 浏览

linux - 如何判断 Linux 脚本(ash,而不是 bash)正在运行“源代码”?

如何在 ash 脚本中判断它是在运行“来源”还是“正常”?来源是指使用“。” 或“source”命令在当前 shell 中启动脚本。

0 投票
1 回答
104 浏览

string - 如何在 shell 脚本中混合整数和字符串比较?

我也提供了一个供应商,它会发出这个结果:

您可以将它们识别为 802.11 通道。

我通过删除括号部分来清理这个列表。此外,类似的列表可能包含看起来像 56/80 的条目。我还需要删除“/80”位。

我的结果如下:

在我的 ASH 脚本(ASH 不是 BASH)中,我有这个,其中 bandnick(2 或 5)、带宽(20、40、80)和国家(两个字母国家代码)是 5、80,在这种情况下为 US:

当我运行此代码时,最多可以找到“161u”的答案channels。“361”不匹配。

我想这与整数与字符串比较有关,但我尝试过的任何方法似乎都不起作用:

  1. 删除引号
  2. 使用 -eq 而不是 =(很多或错误)
  3. 将装饰器添加到测试项目 [ "_$response" = "_$t' ]

关于让它工作的任何建议?