问题标签 [dash-shell]
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.
ssh - 在 posix 兼容的 shell 上转义 ssh 中传递的参数的最有效方法是什么?
有时您想在通过 ssh 将某些内容传递给 shell 之前可靠地转义某些内容。很好奇这个问题看起来有多困难。:-$
是否有更短或更有效的方法来定义此函数,因此它可以与任何严格符合 posix 的 shell 一起使用?
(简单地使用 echo 而不是 printf 可能会引入错误。)
shell - 在破折号中验证 ip(不是 bash)
我正在尝试在破折号脚本中验证 IP 地址。我已经找到了很多方法来实现与 bash 相同的功能,例如在linuxjournal
基本上所做的是使用这个进行比较:
有没有办法用破折号得到同样的结果?
更新:这是完成我需要的最终脚本:
bash - 在 shell 脚本中,如何在不同的字符串之后替换第一次出现的字符串
我有一个简单的配置文件,看起来有点像这样:
我想将 SectionB 的用户名替换为valueX
不接触 SectionA 或 SectionC 的用户名。
我已经尝试了一些变体sed
,但据我所知,它似乎在单独的行上运行。
我该怎么做
- 搜索 StringA(在这种情况下
[SectionB]
) - 查找下一个出现的 StringB (
username = value2
) - 替换为 StringC ('username = valueX`)
regex - 如何正则表达式比较破折号中的字符串?
出于兼容性原因,我正在移动一个 bash 脚本来破折号。以下比较是否有 POSIX/Dash 替代方案?
shell - 为变量分配动态值
如何为变量分配动态值?我知道的最简单的方法是使用函数。例如
将输出
但我想要一些更简单的东西,比如
输出
我应该使用什么命令?最好与dash兼容。
谢谢!
更新:删除了与dash相关的#!/bin/sh。感谢“Ignacio Vazquez-Abrams”的解释!
更新 2:为我的脚本添加源代码以更好地了解情况。
此脚本应有助于查找已删除软件包的剩余配置文件。
linux - 设置 /bin/sh 以外的 Linux shell 是否有问题?
我的公司开始增加对 Linux 的支持,并且我们的一些 shell 脚本开始变得更加复杂。今天我们使用shebang作为
但是我们遇到了一些发行版(例如 Ubuntu)的问题,例如其中 sh 指向 dash 和一些更奇特的。
我的问题是,例如将 shebang 更改为 bash 有什么风险?也许更好的问题是这些天是否可以有一个没有 bash 的发行版?
linux - `dash` 是否支持 `bash` 样式数组?
在dash
shell 环境中,我希望将字符串拆分为数组。以下代码适用于bash
但不适用于dash
.
我的问题
是否dash
支持这种风格的数组。如果没有,是否有任何建议可以在不使用循环的情况下将其解析为另一种类型的变量?
shell - Dash 变量扩展在某些情况下不起作用
这项工作正在测试 virtualbox 机器上完成
在我的 /root 目录中,我创建了以下内容:
“/root/foo”
“/root/bar”
“/root/i have multiple words”
这是我目前拥有的(相关)代码
这就是我使用 sh -x 运行脚本时发生的情况
检查成功完成,但--exclude='i have multiple words'
不起作用。
请注意,当我在 shell 中手动键入它时它确实有效:
我知道这在使用数组时可以在 bash 中使用,但我希望它是 POSIX。
有针对这个的解决方法吗?
bash - /bin/dash 找不到主机名
我新安装了一个重新制作的 ubuntu 12.10。安装后我运行了一个脚本来创建一个标准用户并做一些其他的工作。现在当我登录到新的标准用户并打开终端时,它只显示一个$
标记而不显示username@hostname$
。
它可以返回whoami
但不返回任何东西,echo $HOSTNAME
有趣的是当我运行 bash 时,一切正常,但是当我运行 dash(这是 ubuntu 中的默认设置)时,我看到了问题。
我试过dpkg-reconfigure dash
了,但没有任何改变。
谁能猜出我的系统发生了什么!先感谢您。
unix - shell - 在字符串的不同索引处插入一个字符
它最终将成为更大脚本的一部分,因此需要编写 shell 脚本。其他语言的一个简单任务,但我无法在 shell 中完成它。基本上我有一个字符串,我想插入一个“。” 在字符串中所有可能的索引处。输出可以是换行符或空格分隔。任何人都可以帮忙吗?
示例:
输入:“abcd”
输出:“ .abcd
a.bcd
ab.cd
abc.d
abcd。”
或者
输出:“.abcd a.bcd ab.cd abc.d abcd。”