bash – 将字符串列表传递给for循环
发布时间:2020-12-15 22:27:08 所属栏目:安全 来源:网络整理
导读:如何在bash中传递列表? 我试过了 echo "somedifferentlines" | for i ; do echo do something with $i; done 但这不起作用.我也试图找到与男人的解释,但没有男人 编辑: 我知道,我可以使用while,但我想我曾经看过一个解决方案,因为他们没有定义变量,但可以
如何在bash中传递列表?
我试过了 echo "some different lines " | for i ; do echo do something with $i; done 但这不起作用.我也试图找到与男人的解释,但没有男人 编辑: 我知道,我可以使用while,但我想我曾经看过一个解决方案,因为他们没有定义变量,但可以在循环中使用它 解决方法
这可能有用,但我不推荐它:
echo "some different lines " | for i in $(cat) ; do ... done $(cat)将扩展stdin上的所有内容,但如果echo的其中一行包含空格,则会认为这是两个单词.所以最终可能会破裂. 如果要在循环中处理单词列表,则更好: a=($(echo "some different lines ")) for i in "${a[@]}"; do ... done 说明:a =(…)声明一个数组. $(cmd …)扩展为命令的输出.它仍然容易受到空白的影响,但如果你引用得当,这可以修复. “${a [@]}”扩展为数组中正确引用的元素列表. 注意:for是一个内置命令.请使用帮助(在bash中). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |