shell 脚本
目录
一、shell基础
一、shell基础
常用通配符
* 匹配0或多个任意字符
? 匹配任意单个字符
[list] 匹配list中任意单个字符 [1-9]
[!list] 匹配除list中任意单个字符
{string1,string2,…} 匹配string1,string2或更多字符串 {1..9}
rename #批量重命名文件,mv命令不行
bash中的引号
双引号”” #把引号的内容当成整体看待,允许通过$符引用其他变量值
单引号‘’ #把引号的内容当成整体看待,禁止引用其他变量值,特殊符号都被视为普通字符
反撇号“ #反撇号和$()一样,引号或括号里的命令会优先执行,如果存在嵌套,反撇号不能用
变量
本地变量
#用户自定义的变量。当前进程中有效,其他进程及当前进程的子进程无效。
环境变量
#当前进程有效,并且能被子进程调用。export 将当前变量变成环境变量 环境变量永久生效:vim/etc/profile export PATH=/usr/local/xxx source /etc/profile
env 查看当前用户的环境变量
set 查询当前用户的所有变量(临时变量与环境变量)
全局变量
#全局所有的用户和程序都能调用,且继承,新建用户默认能调用
/etc/bashrc 使用bash shell 用户全局变量
/etc/profile 系统和每个用户的环境变量信息
$HOME/.bashrc #当前用户的bash信息(alias,umask等)
$HOME/.bash_profile #当前用户的环境变量()
$HOME/.bash_logout #每个用户退出当前shell时最后读取的文件
系统启动读取文件顺序 /etc/profile–$HOME/.bash_profile–$HOME/.bashrc–/etc/bashrc–$HOME/.bash_logout
系统变量(内置bash变量)
$? 上一条命令执行后返回的状态 0:正常 非0:异常或出错 126:无权限执行 127:没找到该命令 1&2:没有那个文件或目录
$$ 当前所在进程的进程号 exit:退出当前进程
$! 后台运行的最后一个进程号 sleep 200 &:后台运行 jobs:查看最后一个进程
!$ 调用最后一条命令历史中的参数
!! 调用最后一条命令历史
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279755.html