shell 初学者 必读 ,强烈推荐新手读

背景:

很多人从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 风格的 在bash中是不合法的

dos2unix  需要转换一下

9 在参数传递中出现空格

 以上内容出现在

原文地址:https://www.cnblogs.com/hans-201506/p/5087976.html