问题标签 [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.
linux - 如何使用命令的输出作为 linux 中其他程序的输入?
我有一个在 linux 上运行的程序
该程序从标准输入获取输入
所以我可以用这种方式用输入文件启动它
为了避免在程序中输入输入
现在我希望程序从命令输出中获取输入。类似的东西
但这不起作用,因为它需要一个文件而不是命令。
我怎样才能使它工作?是否有外壳语法可以使其工作?
注意:我不能像这样使用管道anycommand | myprogram
linux - 如何避免从 linux 命令输出中显示第 2 行?
我有一个程序在输出中显示多行
我怎样才能让它显示除前两行之外的所有输出?
regex - 过滤命令输出时出现正则表达式错误
我想从以下命令中过滤行:
我只想提取包含目标01020300
和掩码的行FFFFFF00
我尝试使用以下正则表达式,但它不起作用
我是新的正则表达式格式。你能帮我用一个好的正则表达式来解决这个问题吗?
linux - 使用灰壳“for x in y”
首先,我使用的系统上没有安装 bash。所以,请不要基于 bash 的答案。Ash 不if
使用正则表达式。
在 ash shell 脚本中,我有一个可接受的响应列表:
一个菜单例程返回了“MENU_response”,其中包含一个可能匹配的响应,我想看看我是否得到了一个有效的响应。
循环中的回声正在重新发布$t
= all of $channels
,这是没有意义的。我已经在其他几个地方使用过这种技术,并且效果很好。
有人能告诉我为什么会这样吗?我需要在每个人周围加上引号channel
吗?
linux - 在以下示例中,如何仅通过一个 awk/sed 命令更改 grep 和 cut 命令?
我有一个文件包含:
我想提取包含正则表达式的行"aaa\.bbbb0\.xxxx[0-6]\+=toto"
,然后提取路径中的第三个元素。所以输出应该是这样的
我可以使用grep
然后cut
以这种方式获得此输出:
如何仅通过一个命令或grep
命令更改上述内容?cut
sed
awk
linux - 如何根据行中的子字符串对行进行排序
我有以下输出:
我想根据 value.s 对上述行进行排序,因此输出应如下所示:
更新
我尝试了以下命令:
但是太长了。
还有比上述更好的建议吗?
注意:我的 linux 使用来自 busybox 的排序,它仅支持以下选项:
linux - 如何根据字符串行对输出进行过滤?
我有以下输出
我有一个字符串str
,其中包含:
并且我只想显示字符串行中存在的包含字符串的行
所以我的输出将是:
bash - 如何检测由于远程机器上的非 bash shell 而导致的 ssh 命令失败?
看来这个问题需要一些解释。
当前,我编写了一个 ssh 包装器 bash 函数,用于启动或恢复远程主机上的 tmux 会话。
它的存在对用户来说是完全透明的,您只需键入ssh host
,因为function ssh() { ... }
在您的内部定义了.bash_profile
this 将被执行而不是真正的 ssh。
现在,我确实遇到了这个问题,在一小部分主机上,他们没有真正的 shell,并且他们有一个伪 shell,如果它接收到它不理解的命令,它会断开 ssh 连接。示例:NetScaler、Synology(使用ash
)、CISCO 路由器、...
我想要做的是在 ssh() 包装器中嵌入一些登录信息,这样它就不会在这些机器上失败。最初我创建了一个黑名单,但这很快就变得难以管理,我需要一个适当的修复。
如何从 bash 函数内部解决这个问题?
linux - 如何判断 Linux 脚本(ash,而不是 bash)正在运行“源代码”?
如何在 ash 脚本中判断它是在运行“来源”还是“正常”?来源是指使用“。” 或“source”命令在当前 shell 中启动脚本。
string - 如何在 shell 脚本中混合整数和字符串比较?
我也提供了一个供应商,它会发出这个结果:
您可以将它们识别为 802.11 通道。
我通过删除括号部分来清理这个列表。此外,类似的列表可能包含看起来像 56/80 的条目。我还需要删除“/80”位。
我的结果如下:
在我的 ASH 脚本(ASH 不是 BASH)中,我有这个,其中 bandnick(2 或 5)、带宽(20、40、80)和国家(两个字母国家代码)是 5、80,在这种情况下为 US:
当我运行此代码时,最多可以找到“161u”的答案channels
。“361”不匹配。
我想这与整数与字符串比较有关,但我尝试过的任何方法似乎都不起作用:
- 删除引号
- 使用 -eq 而不是 =(很多或错误)
- 将装饰器添加到测试项目
[ "_$response" = "_$t' ]
关于让它工作的任何建议?