gpt4 book ai didi

linux - 从无限输入流读取的 while 循环中的参数列表太长错误

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:47 25 4
gpt4 key购买 nike

我有一个脚本可以打印我的音量状态。它检查 pactl subscribe 的输出确定什么时候发生了变化。目前我正在用一个 while 循环来做这个,在脚本运行了一段时间后(我可以通过按住一个键来切换静音大约一分钟来快速复制),唯一的输出是“/usr/bin/grep:参数列表太长”

我试过使用 < <(pactl subscribe) ,管道进入 while 循环,并从 fifo 读取。这些都不起作用。这是预期的吗?如果是这样,处理类似 pactl subscribe 的方法是什么?打印无限输出?由于第一个错误提到了 ponymix,我认为这可能是一个问题,但使用 pamixer 也没有解决任何问题。

完整的脚本是here .以下是相关摘录:

while read -r event; do
if echo "$event" | grep --quiet --invert-match --ignore-case "client"; then
print_volume
fi
done < <(pactl subscribe)

我希望没有错误。第一个错误是 line 36: /usr/bin/ponymix: Argument list too long .第二个错误是 line 36: /usr/bin/grep: Argument list too long .然后所有输出都是 line 88: /usr/bin/grep: Argument list too long .

编辑:这与通过将长参数列表传递给某物而导致的建议重复问题不同。我没有像那个例子那样使用 globbing。

最佳答案

问题是在 print_volume 函数中,我反复获取一个包含 export 的文件。正如 Charles Duffy 所指出的,这导致环境规模过大。

关于linux - 从无限输入流读取的 while 循环中的参数列表太长错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57085987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com