首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个输入合并到bash脚本中的相同变量?

将多个输入合并到bash脚本中的相同变量?
EN

Unix & Linux用户
提问于 2022-02-06 00:14:14
回答 1查看 103关注 0票数 0

我试图运行一个bash脚本,控制我的球迷基于hdd临时。

在脚本中,我可以将扇添加到“ARRAY_ fan =/sys/class/hwmon/hwmon 4/pwm6 6”中。

因此,我想知道如何向ARRAY_FAN变量中添加多个粉丝,因此当脚本在ARRAY_FAN上更改rmp时,它实际上更改了所有粉丝、pwm5、pwm6、pwm7和pwm8上的rpm。

我是否可以将/sys/class/hwmon/hwmon 4/pwm5 5作为单独的变量添加到pwm8中,然后将它们添加到ARRAY_FAN,或者向ARRAY_FAN值添加多行?

这是我正在尝试使用https://github.com/kmwoley/unRAID-Tools/blob/master/unraid_数组_fan.sh的脚本

EN

回答 1

Unix & Linux用户

发布于 2022-02-06 11:06:34

对于Bash >= 4.0,您将发现(一次性填充数组arr )的一种有效方法是使用命令mapfile或其同义词readarray,如下所示:

代码语言:javascript
复制
mapfile -t arr < <(command)

使用$ declare -p arr和bash手册中的所有可用选项和标志检查数组内容。

例如:

代码语言:javascript
复制
$ mapfile -t arr < <(seq 1 4)
$ declare -p arr
declare -a arr=([0]="1" [1]="2" [2]="3" [3]="4")

如果您的命令输出包含诸如*之类的全局字符,则这通常会失败。有其他方法可以完成这个这里,这是@gniourf_gniourf发布的一篇文章。

如果您的Bash版本早于4.0,请将其指定为不基于mapfile的解决方案,沿着以下代码进行:

代码语言:javascript
复制
IFS=\n' read -r -d \0' -a arr < <(command && printf '\0')
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/689471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档