Linux Bash编程需要注意的几个地方
日常开发基本都在linux环境下,bash命令用的不少,但是写脚本的地方不多。真的写起来,发现需要注意的语法、使用习惯的小问题还是不少。
查了些资料,也结合自己工作中遇到的一些问题,列举几个需要注意的地方
1. 变量赋值
用等号给变量赋值,=前后都不能有空格。
var=32 now=`date +%y%m%d%H` cur_path=`dirname `
2. 重定向
重定向:将命令的结果输出到文件,而不是标准输出(屏幕)。
> 写入文件并覆盖旧文件
>> 加到文件的尾部,保留旧文件内容。3. 单引号/双引号/反引号
单引号 ‘
两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思。
双引号"
两个双引号包围起来的字符串,部分特殊字符将起到它们的作用.这些特殊字符有: 美元符$, 反斜杠\, 反引号‘, 感叹号!.
反引号 `
两个反引号包围起来的字符串,将作为命令来运行,执行的输出结果作为该反引号的内容,称为命令替换,
它有另一种更好的写法: $(command)
tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`
4. if 控制语句
if [ ... ] then
...
elif ... then
...
else
...
fi
用" [ ] "来表示条件测试。注意这里的空格很重要!要确保方括号的空格。
[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等
5. 循环控制
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
----------
未完,待续...
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。