gpt4 book ai didi

bash - 如何从使用 xargs 运行的脚本中提示用户

转载 作者:行者123 更新时间:2023-11-29 09:14:16 24 4
gpt4 key购买 nike

我正在使用 xargs 填充脚本的参数,我想在其中停止脚本,等待用户输入。像这样的东西:

echo a b c | xargs bash -c 'for a in "$@"; do echo $a; read; done'

但是 read 被忽略了。似乎第二个脚本也试图从管道获取它的输入?我试过 xargs -p 但也好不到哪儿去。

最佳答案

如果选项-axargs ,参数将从文件而不是标准输入中读取。您可以使用语法为 <( ... ) 的 bash 的进程替换即时创建文件

xargs -a <( echo A B C ) bash -c 'for x in "$@"; do echo $x; read; done'

注意这里是$@错过第一个参数(在本例中为“A”)。这是因为 bash -c将'A'放入$0 (通常采用脚本文件的名称)和 $@提供 $1 , $2等等...(在本例中为“B”和“C”)。

关于bash - 如何从使用 xargs 运行的脚本中提示用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10223296/

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