一个非常简单的“只运行一次”版本的我的脚本的例子:
./myscript.sh var1 "var2 with spaces" var3
#!/bin/bash
echo $1 #output: var1
echo $2 #output: var2 with spaces
echo $3 #output: var3
如预期工作!现在我尝试只启动脚本并在循环中输入变量,因为稍后我想一次复制多个数据集到shell。
./myscript.sh
#!/bin/bash
while true; do
read var1 var2 var3
#input: var1 "var2 with spaces" var3
echo $var1 #output: var1
echo $var2 #output: "var2
echo $var3 #output: with spaces" var3
done
看起来read命令是通过空格将输入分割,将所有剩余的内容放在最后一个变量中,对吗?有没有更好的方法在循环中添加变量?或者我如何让read命令表现得像我刚刚在脚本后面添加了这些变量一样?
那种循环的英文单词是什么?它可以在循环执行一个脚本的同时将不同的变量复制到shell中。如果我不知道它的名称,就无法在Google上搜索示例...