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
补充。。。。