bash – 如何使用xargs运行脚本中的用户
发布时间:2020-12-15 20:58:12 所属栏目:安全 来源:网络整理
导读:我正在使用xargs将参数填充到脚本中,我想在其中停止脚本,等待用户输入.就像是: echo a b c | xargs bash -c 'for a in "$@"; do echo $a; read; done' 但是读取被忽略了.似乎第二个脚本也试图从管道输入它?我已经尝试过xargs -p但它并没有更好. 解决方法
我正在使用xargs将参数填充到脚本中,我想在其中停止脚本,等待用户输入.就像是:
echo a b c | xargs bash -c 'for a in "$@"; do echo $a; read; done' 但是读取被忽略了.似乎第二个脚本也试图从管道输入它?我已经尝试过xargs -p但它并没有更好. 解决方法
如果给xargs选项-a,则将从文件而不是stdin读取参数.您可以使用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’). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |