一、初识shell
文件描述符与输出重定向:
在shell程式中,最常使用的FD(filedescriptor)有三个,分别是:
0:Standard Input(STDIN)
1:Standard Output(STDOUT)
2:Standard Error Output(STDERR)
在标准情况下,这些FD分别与以下设备关联
stdin(0):keyboard 键盘输入,并返回在前端。
stdout(1):monitor 正确返回值,输出到前端。
stderr(2):monitor 错误返回值,输出到前端。
1>&2 正确返回值传递给2输出通道,&2表示2输出通道,之前如果有定义标准错误重定向到某文件中,那么标准输出也重定向到这个文件中。若此处错写成1>2,就表示把1输出重定向到文件2中。
2>&1 错误返回值传递给1输出通道,同样&1表示1输出通道。
增加补全命令:
yum -y install bash-completion
快捷键:
ctrl + a 光标移动到行首ctrl + e 光标移动到行尾ctrl + k 删除光标后面的内容ctrl + u 删除光标前面的内容ctrl + z 暂停,并放入后台
命令排序执行: ; && ||
";" : 命令分割,在一行中执行多条语句
"&&" : 一行中执行多条语句,前面语句成功后面的再执行
"||": 一行中执行多条语句,前面不成功,后面再执行
查看历史命令:history
/etc/profile 中的historysize 可以修改调用历史命令的条数
ctrl + r 可以在历史命令中查找,输入关键字调出之前的命令
显示历史命令执行时间:
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
二、shell脚本规范
vim hello.sh -----.sh 代表这个文件是shell脚本,以.sh结尾是约定俗成的,让别人能知道这个是shell脚本,并且以.sh为结尾后缀有高亮显示。
#!/usr/bin/bash -----shebang蛇棒 解释器。 shell语法规定shell脚本文件第一行为整个文件的解释器
执行脚本的方式
1. sh 脚本.sh
2. bash 脚本.sh
3. ./脚本.sh ————这个需要执行权限
4. . 脚本.sh
5. source 脚本.sh