2.4.1 脚本相关

学习目标

这一节,我们从 基础知识、简单实践、小结 三个方面来学习

基础知识

脚本相关的变量解析

序号

变量名

解析

1

$0

获取当前执行的shell脚本文件名

2

$n

获取当前执行的shell脚本的第n个参数值,n=1…9,

当n为0时表示脚本的文件名,如果n大于9就要用大括号括起来${10}

3

$#

获取当前shell命令行中参数的总个数

4

$?

获取执行上一个指令的返回值(0为成功,非0为失败)

简单实践

实践1 - $0 获取脚本的名称

[root@localhost ~]# cat get_name.sh
#!/bin/bash
# 获取脚本的名称
echo "我脚本的名称是: file.sh"
echo "我脚本的名称是:$0"

实践2 - $n 获取当前脚本传入的第n个位置的参数

[root@localhost ~]# cat get_args.sh
#!/bin/bash
# 获取指定位置的参数
echo "第一个位置的参数是: $1"
echo "第二个位置的参数是: $2"
echo "第三个位置的参数是: $3"
echo "第四个位置的参数是: $4"

实践3 - $# 获取当前脚本传入参数的数量

[root@localhost ~]# cat get_number.sh
#!/bin/bash
# 获取当前脚本传入的参数数量
echo "当前脚本传入的参数数量是: $#"

实践4 - $? 获取文件执行或者命令执行的返回状态值

[root@localhost ~]#  bash nihao
bash: nihao: No such file or directory
[root@localhost ~]#  echo $?
127

[root@localhost ~]#  ls
get_name.sh get_args.sh get_number.sh
[root@localhost ~]#  echo $?
0

小结