Linux教程

linux for命令

本文主要是介绍linux for命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

for 循环用于重复一组命令

语法:

for var in list
do
    commands
done

带有单引号的参数可以通过转义字符\ 或者双引号来定义用到单引号的值

#!/bin/bash
for test in I don\'t know if "this'll" work
do
    echo "word:$test"
done

for循环读取变量时 可以通过 var=$var"var_new" 来向$var变量中已有变量添加(或者说是拼接)了一个值。

#!/bin/bash
# using a variable to hold the list
list="Alabama Alaska Arizona Arkansas Colorado"
list=$list" Connecticut"
for state in $list
do
echo "Have you ever visited $state?"
done
$ ./test4
Have you ever visited Alabama?
Have you ever visited Alaska?
Have you ever visited Arizona?
Have you ever visited Arkansas?
Have you ever visited Colorado?
Have you ever visited Connecticut? #拼接的值

还可以从命令读取值

$ cat test5
#!/bin/bash
# reading values from a file
file="states"
for state in $(cat $file)
do
echo "Visit beautiful $state"
done

$ cat states
Alabama
Alaska
Arizona
Arkansas
Colorado
Connecticut
Delaware
Florida
Georgia
Mian Xian

$ ./test5
Visit beautiful Alabama
Visit beautiful Alaska
Visit beautiful Arizona
Visit beautiful Arkansas
Visit beautiful Colorado
Visit beautiful Connecticut
Visit beautiful Delaware
Visit beautiful Florida
Visit beautiful Georgia
Visit Mian
Visit Xian

 这个例子在命令替换中使用了cat命令来输出文件states的内容。你会注意到states文件中每一行有一个州,而不是通过空格分隔的。for命令仍然以每次一行的方式遍历了cat命令的输出,假定每个州都是在单独的一行上。但这并没有解决数据中有空格的问题。如果你列出了一个名字中有空格的州,for命令仍然会将每个单词当作单独的值。

这篇关于linux for命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!