1、set
查看set 帮助:shell
bash -c "help set"
选项:bash
- -e:任何命令执行失败(非0 status)直接退出
- -x: 打印执行过程的命令行、参数
- +e:命令执行失败不会中断退出
- +x:不打印执行过程的命令行、参数
2、seq
seq: 打印数字序列命令行
用法:seq first [incr] lastcode
NAME
seq -- print sequences of numbers
SYNOPSIS
seq [-w] [-f format] [-s string] [-t string] [first [incr]] last
➜ blj seq 0 2
0
1
2
3、eval && exec
都是内建命令。orm
1.eval进程
- bashshell中内建的一个命令,命令后面所跟的内容都认为是参数,可是会两次扫描其参数:第一次扫描会将参数中的变量进行替换;第二次扫描会将后面的参数看成一个shell中的命令组合来执行命令。
- 实际使用中,能够将任意组合的命令赋值给一个变量,而后在须要的位置经过 eval $variable 来执行这个命令。
- 常见用法:
- 直接组合命令 : eval ls -al
- 替换变量
- 能够执行任何值为命令组合的变量
- 变量替换赋值
2.execstring
- 也是shell内建的一个命令。相似 eval、source,不一样的是exec执行后面的命令会替换当前shell进程,而前二者不会。
- 常见用法:
- 用于分离执行脚本,并退出子脚本的shell进程
- 用于设置描述符重定向输入文件内容
- 用于设置描述符重定向输出内容至文件
4、&&和 ||
- command1 && command2 [&& command3 ...]
- 左边的命令返回真后,右边的命令才可以被执行
- 只要有一个命令返回假,后面的命令就不会被执行
- command1 || command2
- 只有左边的命令返回假($? ==1),右边的命令才能被执行,即实现短路逻辑或操做。
- 只要有一个命令返回真,后面的命令就不会被执行