![在 bash shell 脚本中,如何编写一个遍历三个值的循环](https://linux22.com/image/87204/%E5%9C%A8%20bash%20shell%20%E8%84%9A%E6%9C%AC%E4%B8%AD%EF%BC%8C%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E9%81%8D%E5%8E%86%E4%B8%89%E4%B8%AA%E5%80%BC%E7%9A%84%E5%BE%AA%E7%8E%AF.png)
我正在尝试使用 bash 编写 shell 脚本来解决以下问题:
编写一个循环来遍历三个值 (ABC) 并将每个值显示到屏幕上(提示使用“for”循环)。
我认为会是这样的,但我不确定,所以任何建议将不胜感激。
For (( EXP1; EXP2; EXP3 ))
do
command1
command2
command3
done
答案1
for i in Alpha Beta Charlie; do
echo "$i"
done
你不需要eval
,也不需要ls
。
或者,您可以直接打印其中每一个,并在每个后面添加换行符:
printf '%s\n' Alpha Beta Charlie
请不要使用eval
,除非您绝对必须。 (提示:除非你变得非常复杂,否则你永远不需要它。)eval
在不必要的时候使用只会导致安全漏洞。
你最初的问题很明确:
编写一个循环来遍历三个值 (ABC) 并将每个值显示到屏幕上(提示使用“for”循环)。
然而,从您的评论来看,您可能想在循环中执行一些命令:
我想要执行值 T exp 1 exp2 exp3
如果你想执行命令在循环中,只需编写命令并将它们放入循环中即可:
for i in {1..3}; do
echo Hip Hip
echo 'HOORAY!'
done
第一行也可以很容易地实现,for i in A B C; do
并且它会做同样的事情。您不会$i
在循环中的任何地方使用该变量,但也不是必须这样做。仍然会执行3次。
答案2
这应该很简单:
for i in A B C; do
echo "$i"
done