问题标签 [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.
shell - shell - 两个字符串中包含的字符 - 已编辑
我想比较两个字符串变量并打印两者相同的字符。我不确定如何执行此操作,我正在考虑使用comm
ordiff
但我不确定仅打印匹配字符的正确参数。他们还说他们接受文件,这些是字符串。任何人都可以帮忙吗?
输入:
输出:
linux - 从 String Dash Linux 执行命令
所以我正在尝试学习如何为 Linux 操作系统编写脚本,所以我编写了这个下载和安装脚本。虽然,我知道任何优秀的 linux 编码器都会认为这是绝对的滑行工作,但到目前为止它的工作正常,所以我目前只有一个错误。
代码:
我想要做的是添加一个命令别名,这样可以更轻松地访问已安装的文件。我尝试使用 eval "alias lcode=DIR" 并没有用。与 $(alias lcode=dir) 相同
任何人都可以帮忙吗?
bash - 在 Ubuntu 中重定向“<<<”?
我收到此错误
语法错误:重定向意外
在行中:
我如何在 Ubuntu 中运行它?
shell - 在一个非常愚蠢的 shell 中添加/减去变量
我正在编写一个可以在本地/bin/sh
正常运行的 shell 脚本(Ubuntu 13.04 上的破折号),但我最终需要在一个由于对变量的操作而出现错误的哑盒上运行它:
不起作用,我收到如下错误:
我sh
对那里的了解不多,但我认为这东西是busybox。我怎样才能在这个愚蠢的外壳上做数学?
使用小程序列表进行编辑
bash - 从特定环境变量构建 sed 脚本
我需要在 shell 中有一个非常基本的模板系统才能将 Windows 安装程序移植到 linux。所以我不能改变模板变量的语法。
我想采用特定的环境变量(以 $ENV_PREFIX 开头)并构建一个 sed 形式的脚本s/@@@${TEMPLATE_VARIABLE}@@@/$VALUE_OF_ENVIRONMENT_VARIABLE/
。
$TEMPLATE_VARIABLE 是去掉了 $ENV_PREFIX 的环境变量的名称。
现在我遇到了这个脚本的各种问题:
- 我尝试这样做
env --null
,但无法将其与以下 grep 结合使用。 - for 循环不会在每个循环中准确处理一个环境变量
- 我没有设法将 $SED_SCRIPT 与换行符很好地分开
- 当变量名存储在另一个变量中时,如何访问变量的值?这就是我需要把 ??? 在脚本中。
我以为我会为此编写一个快速的 shell 脚本,但现在我记得为什么我讨厌 shell 脚本...... :-(
这些问题似乎回答了我的部分问题:
syntax - 破折号双分号 (;;) 语法
我正在尝试找到一种方法来并行运行多个命令sh
并等待它完成。
我发现以下不起作用(sh: 1: Syntax error: ";" unexpected
):
但是这种语法按预期工作:
但我不明白有什么区别。
它是什么意思,什么;;
时候应该使用?
linux - Bash:“完成”出乎意料(期待“fi”)
当我尝试运行脚本时出现以下错误
我尝试了 bash 和 dash ,我得到了同样的错误。
bash - 相当于 dash shell 中的 pipefail
shell中是否有一些类似的选项dash
对应于pipefail
in bash
?
或者,如果管道中的命令之一失败(但不会退出它),则获得非零状态的任何其他方式set -e
。
为了更清楚,这里是我想要实现的一个例子:
在示例调试 makefile 中,我的规则如下所示:
基本上它运行时会打开错误文件和源文件,并在没有错误时运行程序。节省了我一些打字时间。上面的代码片段运行良好,bash
但我较新的 Ubunty 系统使用dash
的似乎不支持pipefail
选项。
如果以下命令组的第一部分失败,我基本上想要一个 FAILURE 状态:
这样我就可以将其用于if
声明。
有没有其他方法可以实现它?
谢谢!
dash-shell - dash 相当于 bash 的大括号语法?
在 bash 中,php/{composer,sismo}
扩展为php/composer php/sismo
. 有没有办法用/bin/sh
系统外壳(我相信是破折号)来做到这一点?我正在编写git hooks并且希望尽可能远离 bash。
shell - Shell脚本,目录可写的奇怪行为
这是来自手册页的-w
选项描述:test
举个例子,比一千个单词要好:
如您所见,该目录不应该是可写的:仅设置r
了x
标志。但是,test
说我可以在里面写... 第一个奇怪的事情。另一个是当我尝试在其中创建文件时会发生什么:No such file or directory
。
顺便说一句,我正在以用户“maxime”的身份运行上述命令,并且我使用的是 Ubuntu 12.04 中的破折号。
好吧,我有点迷路了,有人解释一下吗?