bash相关内容

在终端命令行上移动光标的最快方式?

在终端中给定的超长命令行上移动的最佳方式是什么? 假设我使用箭头键或Ctrl-R来获取此长命令行: ./cmd --option1 --option2 --option3 --option4 --option5 --option6 --option7 --option8 --option9 --option10 --option11 --option12 --option13 --opti ..
发布时间:2022-08-02 20:14:58 其他开发

如何在外壳函数内的标准输出上直接回显?

我在我的脚本中使用了一个在控制台上打印消息的函数。它可以从任何其他函数调用。 function print_message { echo "message content" } 在外壳程序中,像echo或printf这样的函数通常在标准输出上打印数据,它们将消息重定向到调用函数,而不是作为返回值。 return_value=$(print_message) # this l ..
发布时间:2022-08-02 18:31:17 其他开发

相当于bash中的python的textwrap deden

我在bash中有一个包含多行字符串的变量: mystring="foo bar stack overflow" 很明显,当Iecho "$mystring"时,这会产生大量的缩进。在Python中,我只需导入textwrap并在字符串上使用deden,这就将我带到了这里。有没有为bash而存在的类似于python的dedent模 ..
发布时间:2022-07-25 09:44:38 Python

Grep-w在带有非拉丁字母的单词中查找部分匹配

我想使用grep来精确匹配";er";,但是grep-w除了精确匹配之外,还在带有非拉丁字母的单词中找到了部分匹配,例如";ü";。下面的命令在";groüer";和";weier";中找到";er";。预期的行为是,grep仅在下面的字符串中找到&er";的完全匹配项,而没有部分匹配项。 echo "g ..
发布时间:2022-07-24 11:37:51 其他开发

在grep中转义斜杠&&

我有第行的文件: "H:CheckWP_20140511_029.mp4" 以及其他行。我想删除指示H:Check处的目录的行。我试过了 grep -v ".*H:\Check.*" testout.txt > testout2.txt 但它没有删除这些行。我的正则表达式.*H:\Check.*有什么问题。 regex101 shows我的正则表达式与该行正确匹配。 推荐 ..
发布时间:2022-07-24 11:34:11 服务器开发

在循环中执行&;quot;ffmpeg&;命令

我的文件夹中有三个.wav文件,我想用ffmpeg将它们转换为.mp3。 我编写了此bash脚本,但当我执行它时,只有第一个脚本被转换为mp3。 我应该怎么做才能让脚本继续浏览我的文件? 这是脚本: #!/bin/bash find . -name '*.wav' | while read f; do ffmpeg -i "$f" -ab 320k -ac 2 "$ ..
发布时间:2022-07-22 17:06:55 其他开发

实时将日志尾随到摘录中

我正在运行一个进程,在该进程运行期间,我需要从守护进程捕获日志。我已经拼凑出了一个解决方案,但我希望有人能给我一个稍微优雅一点的方法。让我恼火的是,因为我使用set -e来提醒我任何问题,所以kill会从tail生成一个错误,我必须用|| :吃这个错误,这对我来说是一个丑陋的黑客攻击。 #!/bin/bash set -e LOGDIR="/path/to/logs" LOCKFILE="/ ..
发布时间:2022-07-18 11:34:37 服务器开发

尝试在Windows上使用bash,但收到未安装发行版的消息

我正尝试在Windows 10上使用bash,但在尝试运行bash时收到以下消息: Windows Subsystem for Linux未安装任何分发版本。 可以通过访问Windows应用商店来安装发行版: https://aka.ms/wslstore按任意键继续... 当我转到打开Windows应用商店应用程序的URL时,那里没有任何Linux分发的迹象。 我的Window ..
发布时间:2022-07-17 15:00:59 服务器开发

Node.js如何使用ChildProcess.exec显示标准输入

我有一个node.js脚本,它使用ChildProcess.exec调用npm adduser。通常,如果我在控制台中键入npm adduser,我会得到: 用户名:[标准提示] 密码:[标准提示] 等 如果我使用node.js来执行此代码,则不会打印出任何内容,而只是停留在一个空提示符处,这将一直持续下去,直到我按ctrl-C键退出它。 如何获得常见行为?我基本上只 ..
发布时间:2022-07-16 23:39:33 前端开发

检查bash中的索引数组是稀疏的还是密集的

我在bash中有一个动态生成的索引数组,我想知道它是稀疏还是密集。 一个数组是稀疏的当且仅当在最后一个条目之前有未设置的索引。否则,数组是密集的。 检查在任何情况下都应该有效,即使是空数组、非常大的数组(展开时超过ARG_MAX),当然还有具有任意条目的数组(例如,NULL条目或包含*、、空格和换行符的条目)。后者应该相当容易,因为您可能无论如何都不想展开数组的值。 理想情况下,支票应该 ..
发布时间:2022-07-15 19:35:19 其他开发

JQ json路径单引号和变量

尝试找出JQ的语法。 这一行工作得非常好: echo $(cat ../post-auth/rkt-auth.json | jq -c --arg user ${vsphere_user} '.credentials.user = $user') > ../post-auth/rkt-auth.json 但是,当变量是json路径的一部分时,情况并非如此: echo $(cat . ..
发布时间:2022-07-04 18:33:11 其他开发

Bash-如何在文本文件的行内进行排序

使用Linux命令sort,如何对文本文件中的行进行排序? Normalsort交换行直到它们被排序,而我想交换行中的单词直到它们被排序。 示例: Input.txt z y x v t c b a Output.txt t v x y z a b c 推荐答案 如果您有gnu awk,则可以使用asort function在一个命令中完成: aw ..
发布时间:2022-06-30 14:46:33 其他开发

Shebang标志与set内置标志之间的差异

在Shebang行上传递给脚本的标志与使用set内置标志的行为是否存在差异? 例如: #!/bin/bash -e # do stuff 与 #!/bin/bash set -e # do stuff (问题不是针对-e标志,而是针对任何此类标志)。 显然,set [flags]仅从其设置的点起有效。但在功能/行为方面是否还有其他区别? POSIX外壳中的行为也 ..
发布时间:2022-06-27 21:32:42 其他开发

当通过管道传输到文件时,git日志的输出会丢失--我错过了什么?

我正在尝试通过命令行获取一些有关GIT提交的信息,这是我正在构建的一个更大的自动化工具的一部分。我需要的信息可以通过以下git日志命令获得: git log --branches --graph --oneline --parents 哪一项会产生此输出: 这很好,因为它有我想要的散列和标记,以及提交消息。然而,当我通过管道将其发送到文件中时,括号中的内容似乎不知何故丢失了。我对颜 ..
发布时间:2022-06-26 20:14:25 其他开发

与POSIX兼容的外壳相当于Bash";,而读-d$';

我正在尝试使Bash脚本严格符合POSIX,即使用checkbashisms -px ${script_filename}删除任何可能的“Bashisms”。在给定的文件中,我使用find遍历目录,然后使用作为分隔符使用-print0将每个文件路径通过管道传输到read,以便能够处理包含换行符的文件名: find . -print0 | while read -d $'' inpath ..
发布时间:2022-06-25 21:38:49 其他开发