问题标签 [bash4]

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 投票
2 回答
566 浏览

bash - Mac: Virtual Shell Bash Version does not Match Installed Version

I am trying to create shell scripts that make use of Bash 4.0's features. I am on a Mac using zshell as my main shell, and I have bash 4.0 installed via Homebrew.

When I run bash --version from iTerm, I get:

But if I try to execute echo "Using $BASH_VERSION" from within my script, I get: Using version 3.2.57(1)-release

How do I get my virtual shell for my scripts to point to Bash 4.0?

0 投票
1 回答
305 浏览

bash - 在 url 中发现非法字符

我正在尝试从存储在文本文件中的具有不同 id 的 api 中提取数据,但我不断收到消息“curl(3):url 中发现非法字符”。

文本文件包含:

我的脚本:

我是新手。谁能帮我写剧本?

0 投票
1 回答
1539 浏览

bash - bash中的关联数组不在循环内存储值

这是我的$a输出:

我必须将它们存储在一个关联数组fsmounts中,第一列作为键,第二列作为值。
这是我的代码:

但是当我尝试在循环外打印时

空白是输出。我认为关联数组 fsmounts 实际上并没有存储值。请帮我。

但我实际上可以fsmounts[$key]在循环内回显。看到这个:

0 投票
1 回答
53 浏览

bash - 源文件时奇怪的 bash 消息

当我跑的时候bash,我掉进了一个shell:

然后当我跑步时,ql_get_latest我得到:

有人知道那是什么吗?

0 投票
1 回答
52 浏览

bash - 为什么 bash 禁止名为 `df` 的 shell 函数?

我正在使用GNU bash, version 4.4.12(1)-release (x86_64-pc-linux-gnu).

我的一个启动文件中有以下几行:

当获取该文件时,我收到此错误:

但是,如果我将函数名称从dfto更改为diroref或者anything_else我不会收到错误消息。

我假设这df是一个保留字,但是当我在 bash 中检查这个保留字列表时,我找不到它。(而且我认为它不应该成为一个,无论如何!)

那么,任何人都可以对此有所了解吗?为什么 bash 禁止我定义一个名为 的 shell 函数df

0 投票
2 回答
97 浏览

bash - 如何使用 for 循环(或不使用)在“borg create”命令中使用键和值

我在服务器上有一些站点,我只想备份它们的 webroot,为每个站点创建一个新的存储库。使用 bash 4,我可以使用字典。

博格命令是:

如何创建一个在此命令中同时使用键和值的 for 循环?类似于以下内容,而是echo使用命令中的键和值并一一备份所有站点。

不想只是回显键和值。我想在一个命令中使用它们。

0 投票
1 回答
186 浏览

bash - Bash 4.2 关联数组抛出“坏数组下标”错误

我正在尝试创建此关联数组,但由于volumeClaimTemplates[0]

这是我的代码:

这是错误:

[0]如果我从中删除,volumeClaimTemplates那么我不会收到任何错误。

0 投票
2 回答
27 浏览

bash - 如何在块引用的行尾添加换行符以进行打印?

我正在使用 MacOS 和 Bash 4.4.23。

我希望能够在单个字符串中包含一个很长的块引用来进行帮助对话并在程序中打印出来。

假设我在 var 中有一个字符串help

我也试过

但我仍然没有得到预期的结果。

我想要打印的内容:

0 投票
1 回答
53 浏览

bash - 如何在通过参数传递它的函数内更新关联数组?

我有以下代码读取所有fieldsJson 文件(路径是PRIVATE_REGISTRATION_FILE并将它们存储到关联数组 ( PRIVATE_FIELDS) 中,稍后我会在代码中查询该数组:

问题是我用几个文件多次执行此操作,即使逻辑始终相同。

因此,我正在考虑将这个逻辑提取到一个函数中,但是我很难将 map 参数传递给它。

这是我尝试的:

我这样称呼:

但是它不起作用,地图仍然是空的。

我已经尝试了这个答案中提出的每个解决方案,但没有一个有效。我究竟做错了什么?

重击版本:4.2.46(2)-release


附加说明,Json 文件看起来像这样(显然调用jq可能会减少):