shell编程当中的注意事项

0. echo 命令的-n选项消除通常的换行符
1. 给变量赋值的时候,=两边不要留空白,否则,shell会把变量名误认为是命令名
2. 引用一个变量的时候,可以用花括号把这个变量的名字括起来,让分析程序和阅读代码的人能清楚的知道,这是一个变量,而且,这样做还可以在双引号当中进行扩展变量,单引号则没有这个功能;
3. 环境变量多为全部大写字母,本地变量则多半所有字母都小写,而且在变量名的各个部分之间用下划线隔开。环境变量会自动导入bash的变量名空间,export命令可以将一个shell变量提升为一个环境变量。用来在用户登录时设置环境变量的那些命令,都应该放在~/.profile 或者~/.bash_profile, ~/.bashrc
4. 左引号能够把字符串的内容按一条shell命令来执行,并且用该命令的输出替换这个字符串
5. sort相关选项:-k, 指定构成排序关键字的列,常见的形式为sort -k 1,1, 其含义为只按照第一个域进行排序; -n 按整数值比较域; -t 设定域分隔符; -u 重复的记录只输出一次
6. locate 命令可以用来查找各种东西
7. 可以把逻辑上的一行分成物理上的多行来写,每行末尾用反斜线消除换行符,便于查找问题出现
8. find . -type f -name '*.log': 查找当前目录及其子目录下非目录文件,且后缀为.log 的文件

9. 循环的简单写法(两者等效):

点击(此处)折叠或打开

    while read line; do echo "cur_${line}"; done cat file.txt | while read line; do echo "cur_${line}" ; done
10. if 选项里的-n 选项,如果后面的字符串为空,则返回false, 否则返回true, if [-n "$xxx"];-z选项刚好相反。记忆方法是-n代表not empty, -z代表zero length
来源url
栏目
文章分类