(10)——bash2
最后更新于:2022-04-01 14:44:29
## 七、命令行表达式
命令行输出——“ ”
将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,则转义。
双引号不能将 \ $ ` ! 符号的特殊功能禁止
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb3f41ab.jpg)
命令行输出——' '
将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,不转义。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb4119ea.jpg)
执行引用符——· ·
引用命令的执行结果,也就是说引用号里面的内容会最先被执行。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb423b5c.jpg)
数学运算——$[ ]
在中括号内的表达式会被数学计算
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb434987.jpg)
逸脱符—— \
用于取消命令行中字符的特殊含义
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb44905d.jpg)
用于表示一行未结束
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb45a636.jpg)
命令行结束符—— ;
用于在一行内分隔两个独立命令,表示一行已结束,作用相当于回车键
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb46bcb2.jpg)
pwd ; ls -l
子shell激活——( )
在小括号内的命令行表示激活一个子shell后在子shell中运行
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb480e22.jpg)
## 八、逻辑运算符
shell命令行支持在同一行的多条命令中插入&& ||
&& :当前一条指令执行时再执行后一条指令
|| :当期一条指令执行失败时再执行后一条指令
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb49cba8.jpg)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb4ae543.jpg)
## 九、登录shell
默认情况下,在shell改变变量、umask、alias,只在此次登录中有效。一旦logout后再login,则设定恢复初始值。
一个通过登录而得到的shell,一般是用户的初始shell
在登录shell下激活的shell采用登录shell的环境设定
登录shell从配置文件中读取其环境设置
## 十、定制登录shell
bash在用户登录时从四个文件中读取环境设置
全局设置文件:
/etc/profile :针对系统整个环境设置,对所有用户,比如PATH、MAIL
/etc/bashrc :
用户设置文件
~/.bashrc
~/.bash_profile
## 十一、其他shell设定文件
~/.bash_logout :在用户logout的时候自动执行
~/.bash_history:用户login时自动读取其内容并加载到内存history记录中,logout时将内存history记录写入。
/etc/profile.d/*.sh :在/etc/profile中被执行,其中的环境设定,也会被全局引用
## 十二、常用快捷键
ctrl + d :输入已结束。在shell下相当于一个exit
ctrl + c :键盘中断请求。
ctrl + s & ctrl + q :暂停/恢复屏幕输出
ctrl + l :清屏,相当于clear
Tab :自动补完命令行与文件名
Tab键双击可以列出所有可能匹配的结果