Bash迭代每一行,并使用每一行的第一个单词和第二个单词运行命令

Bash迭代每一行,并使用每一行的第一个单词和第二个单词运行命令,bash,Bash,我有一个函数,它解析一个文件,并将其转换为存储在变量中的以下输出 option1 value1 option2 value2 option3 value3 etc... 我需要遍历每一行并运行一个命令,在每一行上使用这两个值。下面是我的想法 for each line in "$var"; do command "$first_word $second_word" done 如何才能做到这一点?Per,一个while read循环是该作业的合适工具: while read -r fi

我有一个函数,它解析一个文件,并将其转换为存储在变量中的以下输出

option1 value1
option2 value2
option3 value3
etc...
我需要遍历每一行并运行一个命令,在每一行上使用这两个值。下面是我的想法

for each line in "$var"; do
    command "$first_word $second_word"
done
如何才能做到这一点?

Per,一个
while read
循环是该作业的合适工具:

while read -r first_word second_word rest; do
  your_command "$first_word" "$second_word"
done <<<"$var"
读时-r第一个字第二个字休息;做
您的命令“$first\u word”“$second\u word”
完成Per,读取时的
循环是作业的适当工具:

while read -r first_word second_word rest; do
  your_command "$first_word" "$second_word"
done <<<"$var"
读时-r第一个字第二个字休息;做
您的命令“$first\u word”“$second\u word”

done是非常准确的。顺便说一句,请参阅自动检查——事实上,您目前缺少大量引用。而且不需要让你的编辑说出你编辑的内容——任何需要它的人都可以查看问题的编辑历史……另一方面,
命令实际上是一个内置在shell中的命令。为了避免混淆,通常最好使用一个不存在的存根,比如
yourcommand
mycommand
,作为占位符,或者像
printf'First word:,second word:\n'$First\u word”“$second\u word”
这样的指示词。好的地方。对不起,我写得又快又脏。糟糕的举动。我的错误。再次感谢,这是非常正确的。顺便说一句,请参阅自动检查——事实上,您目前缺少大量的报价。而且不需要让你的编辑说出你编辑的内容——任何需要它的人都可以查看问题的编辑历史……另一方面,
命令实际上是一个内置在shell中的命令。为了避免混淆,通常最好使用一个不存在的存根,比如
yourcommand
mycommand
,作为占位符,或者像
printf'First word:,second word:\n'$First\u word”“$second\u word”
这样的指示词。好的地方。对不起,我写得又快又脏。糟糕的举动。我的错误。再次感谢汉克斯·查尔斯。非常好,谢谢你,查尔斯。工作得很好。