标签:
背景:
很多人从C/C++转化而来,看了学习文档之后,踩入了很多坑
1 对变量赋值 不要有空格
a=123 # 正确 a = 123 # 错误
2 if语句 [] 要留有空格,变量最好加""
if [ "$a" -eq 10] # 对的 if [$a -eq 10] # 错的
3 很多情况下希望输出“!” 这个时候要用单引号
echo ‘ok!‘ #对的 echo “error!” #错误的
4 位置参数超过10 要用上大括号 小于10的可以不用
echo ${10} #正确,表示打印第10个变量 echo $10 #也正确,不过表示的是第一个变量后面加一个0
5 牢记未初始化的变量为null ,不为0
6 if 语句里的双引号
if [ -n "$a" ] # right if [ -n $a ] #error
7 子shell的操作不会影响父shell
子shell:
#!/bin/bash STRING_TEST="test" export STRING_TEST
父shell:
echo $STRING_TEST
8 dos 风格的\r\n 在bash中是不合法的
dos2unix 需要转换一下
9 在参数传递中出现空格
以上内容出现在
标签:
原文地址:http://www.cnblogs.com/hans-201506/p/5087976.html