shell学习

脚本调试: sh -x   test.sh

 

一 、shell基础

1、history    => !!   /  !n  /!字符串

2、alias       => alias ls='ls -al'

3、通配符     => * / ?

4、输入输出重定向  => <  /  >  / 2> / >>

5、管道  |

6、进程控制  ctrl + z(暂停)  / ctrl + c(终止) /fg(恢复,前台运行) /bg(恢复,后台运行)

 

二、变量

 1、环境变量 :代表所有常用命令的绝对路径的设定     查看所有预设的环境变量 env    

  PATH  =》 决定了shell将到哪些目录中寻找命令或程序

       HOME =》 当前用户主目录

 

    LOGNAME =》当前用户的登录名

  HOSTNAME =》指主机的名称

  SHELL =》前用户Shell类型

  LANG =》语言相关的环境变量,多语言可以修改此环境变量

  MAIL=》 当前用户的邮件存放目录

  PWD =》当前目录

 2、自定义变量对系统内所有用户可见办法

  需要在/etc/profile文件最末行加入 “export key=value” 然后运行”source /etc/profile”就可以立即生效

 3、 只对当前用户可见 

        需要在用户主目录下的.bashrc文件最后一行加入“export key=value” 然后运行”source .bashrc”就可以立即生效

 4、 设定变量的格式为”a=b”,其中a为变量名,变量名只能由英、数字以及下划线组成,而且不能以数字开头;

          b为变量的内容,当变量内容带有特殊字符(如空格)时,需要加上单引号 ,有一种情况,需要你注意,就是变量内容中本身带有单引号,这就需要用到双引号了;如果变量内容中需要用到其他命令运行结果则可以使用反引号;

          变量内容可以累加其他变量的内容,需要加双引号;单引号会阻止内容中特殊字符解析,双引号会解析内容中的特殊字符

          等号两边不能有空格,

   5、让shell的子shell也能知道变量  export

  6、取消某个变量 unset 变量名

 

三、shell中特殊符号

   1、*   2、?  3、#  4、\ 5、| 6、$

   7、grep 8、cut 9、sort 10、wc 11、uniq 12、tee 13、tr 14、split 15、;  16、;  ,&& , ||17、~ 18、&  19、> ,>>,2>,2>> 20、[]

 

四、正则表达式

1、grep

grep [-cinvABC] ‘word’ filename

 

 

2、sed

补充。。。。

3、awk

补充。。。。

 

posted @ 2017-07-27 13:13  牛哥学coding  阅读(212)  评论(0编辑  收藏  举报