问题标签 [sh]

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 投票
5 回答
14628 浏览

xml - 从 xml 文件中删除注释并漂亮地打印它

我有这个巨大的 xml 文件,其中包含很多评论。

什么是去除所有注释并从 linux 命令行很好地格式化 xml 的“最佳方法”?

0 投票
2 回答
514 浏览

bash - csh 命令列表,如 ksh { list; }

在 bourne 兼容的 shell 中,{ list; }语法会导致 shell 在执行之前读取完整的命令列表,而无需打开新的 shell。csh有类似的东西吗?

谢谢。

0 投票
7 回答
8705 浏览

shell - shell 使用存储在变量中的 case 语句匹配模式

我正在尝试将模式与存储在变量中的 case 语句匹配。这是一个最小的例子:

不幸的是“|” 似乎被转义了(有趣的是“*”或“?”不是)。我如何让它工作,即匹配“foo”?我需要将模式存储在一个变量中,因为它是动态构造的。这需要在与 POSIX 兼容的 shell 上工作。

0 投票
2 回答
11799 浏览

sh - 如何通过 sudo 用户执行 shell 脚本

有人可以举一个通过 sudo 用户运行 shellscript 的例子吗?

我试过这样。

sudo /usr/local/sbin/deploy | ./tmp/cp1.sh

上述脚本作为普通用户而不是 sudo 用户执行。

0 投票
3 回答
513 浏览

linux - 有没有办法捕获命令的输出,并将其返回值捕获到 shell 脚本中的变量中?

所以,假设我foo在一个脚本中有一个命令,它既有返回值,又有我感兴趣的输出字符串,我想将它们存储到一个变量中(至少它的输出为变量,其返回值可用于条件)。

例如:

我能想到的捕获该输出的最好方法是使用一些临时文件:

无论如何我可以简化它吗?

0 投票
2 回答
4091 浏览

git - 在 bash 脚本中按模式过滤行

我有两个变量,一个带有文本,另一个带有模式。我想过滤掉线条,匹配的模式。我怎样才能做到这一点?

我的脚本看起来像这样

0 投票
6 回答
2975 浏览

shell - Bourne Shell 脚本——简单的 for 循环语法

我对编程并不完全陌生,但我并不完全有经验。我想写一个小的shell脚本来练习。

这是我到目前为止所拥有的:

基本上我要做的是让脚本遍历指定目录中的所有文件,然后显示每个文件的名称以及它拥有的链接数量、它的所有者和它的创建日期。显示创建日期或至少显示文件最后修改日期的语法是什么?

另一件事是,创建 for 循环的语法是什么?据我了解,我必须在 $1 中编写类似 for $1 的内容($1 是用户输入的目录中的所有文件是否正确?),然后检查每个文件并显示每个文件的信息。我将如何开始和结束 for 循环(这是什么语法?)。

如您所见,我对 bourne shell 编程不是很熟悉。如果您有任何有用的网站或有更好的方法来解决这个问题,请告诉我!

0 投票
5 回答
504 浏览

shell - sh - 构建包含路径的字符串

我正在构建一个小型 shell 脚本,用于在各种 unix 系统上查找 cat/man 页面......在 bash 中,我可以通过这样做来构建所有可能的路径:

不幸的是,我被迫使用 sh ......我可以用循环构建路径,但这看起来真的很难看......有没有更整洁/更短的方法?

0 投票
9 回答
90647 浏览

regex - 在 Bash 脚本中返回正则表达式匹配,而不是替换它

我只想匹配 Bash 脚本中的一些文本。我试过使用 sed 但我似乎无法让它只输出匹配而不是用某些东西替换它。

哪个会输出TestTdontReplaceString

这不是我想要的,我希望它输出100.

理想情况下,它将所有匹配项放在一个数组中。

编辑:

文本输入以字符串形式出现:

0 投票
4 回答
411 浏览

shell - Why reference $? explicitly

A lot of sh code looks like:

Instead of:

I have typically assumed that people use the former simply because they are unaware that the syntax of the latter is valid, but I'm wondering if there is another reason (although the only possibility that comes to mind is portability). Is there any reason to prefer explicitly referencing ${?}?.