一、bash -c “bash命令”
使用shell去运行脚本,通常有两种方法:
- 一种是 bash xxx.sh
- 另外一种就是 bash -c “cmd string”
运行方式1:bash xxx.sh
对于bash xxx.sh, 首先bash 会在当前目录去寻找xxx.sh,如果找到,就直接运行,找不到则按照环境变量$PATH的指定路径,按顺序去找,如果找到,则执行,找不到则报错。
shell脚本的参数$0
就是要执行的shell脚本xxx.sh,$1
就是后面紧跟xxx.sh的参数,$2
$3
依次类推。
运行方式2:bash -c “cmd string”
如果用-c 那么bash 会从第一个非选项参数后面的字符串中读取命令,如果字符串有多个空格,第一个空格前面的字符串是要执行的命令,也就是$0
, 后面的是参数,即$1
, $2
….
多命令执行符 | 格 式 | 作 用 |
---|---|---|
; | 命令1;命令2 | 多条命令顺序执行,命令之间没有任何逻辑关系;如果使用";"连接多条命令,那么这些命令会一次执行,但是各命令之间没有任何逻辑关系,也就是说,不论哪条命令报错了,后面的命令仍会依次执行。 |
&& | 命令1 && 命令2 | 如果命令1正确执行(?=0),则命令2才会执行;如果命令1执行不正确(?≠0),则命令2不会执行 |
|| | 命令1 || 命令2 | 如果命令1执行不正确(?≠0),则命令2才会执行;如果命令1正确执行(?=0),则命令2不会执行 |