Shell
1. shell脚本的特性
bash shell
的特性
1. 命令和文件路径补全 table
2. 命令历史记忆功能 history 上下键,!number,!string(找到最早以string开头的命令),!$(代表上一个命令的最后一个参数),!!(执行上一个命令),^R
3. 别名功能 alias(查看当前shell的别名) unalias cp(取消别名) ~username/.bashrc(定义永久别名), \cp -rf /etc/hosts.(执行命令时加\取消该命令的别名)
4. 快捷键 ^R(搜索一个历史命令) ^D(退出) ^A(光标移动到最前) ^E(光标移动到最后) ^K(删除后面的内容) ^U(删除前面的内容) ^S(锁屏) ^Q(活屏) ^Y(撤销)
5. 前后台作业控制 &,nohup,^C,^Z,bg %1,fg %1,kill %3screen
6. 输入输出重定向 0,1,2 >(覆盖) >>(追加) 2>(发生错误时重定向) 2>>(发生错误时增加) 2>&1 &>(混合输入)
7. 管道|tee ip addr |grep 'inet'|grep eth0
screen -s 作业名称
screen -list 调出所有任务
命令的顺序:
注意:
& 后台执行
&>/dev/null 混合重定向(不管对错)
&& 命令排序,逻辑判断
shell通配符(元字符)
* 匹配任意多个字符
? 匹配任意一个字符串
? 匹配任意一个字符
[] 匹配[]中任意一个字符
()在子shell中执行
{}集合 touch file{1..9}
\ 转义符 让元字符回归本意,也可以将空格转换为空格字符串
loginshell和nologinshell
-nologinshell su alice
-loginshell su -alice
登录用户的时候执行红色和蓝色的文件,退出的时候执行黄色的文件
su 切换用户的时候 加
-
登陆的四个文件都执行,不加-
只执行两个文件
echo颜色输出文本
echo -e "\e[1:31m This is a text. \e[0m"
背景色: 40-47
shell变量
变量=值
$变量
shell中以什么开始,就以什么结束
read 变量名 //在运行脚本的时候提供变量名(从键盘读入)
-p "提示语"
$1. $2. 位置变量
脚本后面的第一个参数就是变量1,对二个参数i
设置环境变量:(系统使用)
export 变量
将某一个shell脚本,引入到另一个脚本:
* 直接在另一个脚本中,利用.或者source(在当前shell执行)执行要加载的shell脚本
env
查看环境变量