[shell(7)| 青训营笔记]

262 阅读1分钟

exit命令

exit命令用来退出当前shell进程,并返回一个退出状态;使用$?可以接收这个退出状态。

exit命令可以接受一个整数值作为参数,代表退出状态。如果不指定,默认状态值是 0。

exit退出状态只能是一个介于 0~255 之间的整数,其中只有 0 表示成功,其它值都表示失败。

示例:

创建脚本test.sh,内容如下:

\#! /bin/bash

if \[ \$# -ne 1 ]  # 如果传入参数个数等于1,则正常退出;否则非正常退出。
then
echo "arguments not valid"
exit 1
else
echo "arguments valid"
exit 0
fi

执行该脚本:

acs\@9e0ebfcd82d7:~~$ chmod +x test.sh 
acs@9e0ebfcd82d7:~$ ./test.sh acwing
arguments valid
acs\@9e0ebfcd82d7:~~$echo$?  # 传入一个参数,则正常退出,exit code为0
0
acs\@9e0ebfcd82d7:\~$ ./test.sh 
arguments not valid
acs@9e0ebfcd82d7:~$ echo \$?  # 传入参数个数不是1,则非正常退出,exit code为1
1

引入外部脚本

类似于C/C++中的include操作,bash也可以引入其他文件中的代码。

语法格式:

. filename  # 注意点和文件名之间有一个空格

source filename

示例

创建test1.sh,内容为:

\#! /bin/bash

name=yxc  # 定义变量name

然后创建test2.sh,内容为:

\#! /bin/bash

source test1.sh # 或 . test1.sh

echo My name is: \$name  # 可以使用test1.sh中的变量

执行命令:

acs\@9e0ebfcd82d7:\~$ chmod +x test2.sh 
acs@9e0ebfcd82d7:~$ ./test2.sh
My name is: yxc