Linux Shell 基础

1. name="123"
  标准的输出变量为 ${name}, $name可能会引起错误,但也可以使用

2. 单引号为强引用, 变量替换会被禁止
   echo '$name', 输出为
   name

3. 双引号为强引用, 不会禁止变量替换

   echo '$name'
   123

4. 对数值型变量赋值使用let
   let "index=1"
   let "index+=index+1"

5. unset [-v] 删除指定变量 -v 是默认选项,可省略

6. unset -f func 删除函数

7. 向函数传递参数

"$#" 参数个数
"$@" 参数集合

  testfunc(){
    echo "参数个数: $#"
    echo "参数为: $@"
    for i in "$@"  ....
  }
  ./testfunc.sh a,b,c


8. 管道与重定向
   a. > 改变标准输出   echo "ddd" > /tmp/a.txt
   b. < 改变标准输入   cat < /tmp/a.txt > /tmp/b.txt 复制a.txt内容到b.txt
   c. >> 追加文件 echo "dd" >> /tmp/b.txt
   d. | 建立管道

9. /dev/null
   可以把它想象为一个黑洞, 它非常接近于一个只写文件,所有写入它的内容都会丢失,而如果从它那儿读取内容,则什么也读不到。
   cat /tmp/b.txt > /dev/null 2>/dev/null
   读取的内容输出的 dev/null, 错误页输出到/dev/null
  
   1> 重定向标准输出
   2> 重定向标准错误
   0< 重定向标准输入
   &> 重定向标准输出和标准错误

   ln -s /dev/null ~/.mozilla/cookies 所有的cookie都会被扔到黑洞, 不会再保存cookie到我们的磁盘了

10. grep -v : 显示所有与制定模式不匹配的行
    ps -ef|grep -v "\<grep\>"|grep com.core|awk '{print $2}'

你可能感兴趣的:(Linux shell)