8、Linux Shell 笔记
1、从变量读取列表
List = "apple tree book"
List = $List" hello"
则此时,List 为"apple tree book hello"这是一种将文本添加到一个存在的,存储在一个变量中的文本字符串的常用方法。
2、改变字段分隔符
默认是:空格 制表符 换行符
IFS = $'\n'
另外一种安全的做法
IFS.OLD = $IFS
IFS = $'\n'
IFS = $IFS.OLD //恢复
指定多个:
IFS = $'\n';" //用\n ; "来做分隔符。
3、C式for 命令
For (( variable assigment; condition; iteration process))
Do
...
Done
有几项不同于C中:
变量的赋值可以包含空格
条件中的变量不以美元符号做前缀
迭代处理式不使用expr命令
For (( i =1; i <= 10; i++))
Do
Echo "number is $i"
Done
4、while可以定义多条test命令,只有最后一条测试命令的退出状态是用来决定循环是如何停止的。
http://www.cnblogs.com/mydomain/archive/2010/09/24/1833910.html
5、处理循环的输出
可以如下处理:
For (( variable assigment; condition; iteration process))
Do
...
Done > output.txt
6、在第9个变量之后,必须使用大括号将变量括起来,如${10}。
7、读取程序名称
basename 返回程序名称,而不包括路径。
name = 'basename $0'
8、使用${!#}可以得到最后一个命令行参数值。
9、$parm取变量
10、变量$@将命令行中提供的所有参数作为一个字符串中的多少单词处理,允许迭代;而变量$*将命令行中提供的所有参数作为一个单词处理。
11、取复杂变量的值:$[$count + 1]。
12、Getopt命令:对命令行参数进行组织,以易于解析。
13、获取用户输入
1)read -p | t | n1
count = 1
cat test | while read line //从test文件中读入数据,显示,到完结
Do
Echo "$count: $line"
Count = $[ $count + 1]
Done
14、常见Linux命令行选项