bash shell的功能
1.命令记忆功能 (history) ~/.bash_history
2.补全命令功能[Tab]
3.命令行别名设置功能 (alias,unalias)
4.作业控制,前台,后台控制
5.程序脚本(shell script)
6.通配符
shell的变量
显示变量: 使用echo $变量名
echo $PATH
自定义变量的设置: 变量=内容;
取消自定义变量: unset $变量名
变量设置注意事项:
1.等号两边不能直接接空格符;
2.变量名,英文,数字;
3.export使自定义变量成为环境变量, export 变量名 ;
4.双引号仍可保留变量内容,单引号将是一般字符.
.
环境变量相关命令:
env/export //列出所有环境变量 set //查看所有变量(环境变量+自定义变量)
.
变量键盘读取,数组与声明
read [-pt] variable //读取来自键盘输入的变量 -p:后面可接提示符 -t:后面接秒数 declare [-aixr] variable //声明变量类型 -a: 数组 -i: 整型,base环境下数组计算,默认最多达到整型. -x: 将variable变成环境变量,+x,相当于取消操作. -r: readonly类型.不能更改. 数组设置方法: var[index]=content echo ${var[i]}
变量内容的删除,替换,替代
删除与替换
1.从前面开始删除
# 符合替换文字的最短的那一个
## 符合替换文字的最长的那一个
2.从后面开始删除
% 符合替换文字的最短的那一个
%% 符合替换文字的最长的那一个
举例: MAIL 为/var/spool/mail/root. 只保留root: echo ${MAIL##/*/} 保留目录,root后结尾字母是啥不知道: echo ${MAIL%/*}
${变量/旧字符/新字符} / : 第一个旧字符被替换
${变量//旧字符/新字符} // : 所有旧字符被替换
测试与内容替换
username=${username-root} //若username未设置,将用root赋予; username=${username:-root} //若username未设置or为空字符串,将用root赋予;
历史命令:history 查看曾经执行过的命令
!! ->执行上一条命令
!number ->执行第number条命令
!command ->搜索命令名开头为command的,并执行
通配符与特殊符号
* 代表0个到无穷个任意字符
? 代表一定有一个任意字符
[] 一定有一个括号内的字符(非任意) eg. [abcd]
[-] 代表编码顺序内的 eg. [0-9]
[^] 代表取反(非...) eg. [^abcd],一定有一个非abcd的其他字符
来源:https://www.cnblogs.com/chenjz1993/p/6916938.html