shell编程(3) 特殊变量

bash预定义变量

Bash 有一些预定义变量,在编写 Shell 脚本时非常有用

命令参数 说 明
$0 获取当前执行的 Shell 脚本的文件名,如果执行脚本包含了路径,那么就包括脚本路径
$n 获取当前执行 Shell 脚本的第 n 个参数值,n=1..9,当 n 为 0 时表示脚本的文件名;如果 n 大于 9,则用大括号括起来,例如${10},接的参数以空格隔开
$# 获取当前执行的 Shell 脚本后面接的参数的总个数
$* 获取当前 Shell 脚本所有传参的参数,将所有的参数视为一个字符串。
$@ 获取当前 Shell 脚本所有传参的参数,将所有的参数视为不同的独立字符串。
$? 获取上一个指令执行状态的返回值,返回值为0表示上一个指令成功,返回非0时表示失败

ps:
1)使用$*时,所有参数都被视为一个单词,当使用$@时,每个参数都被视为单独单词;
2)使用 $0 的时候,路径不同输出不同
3)使用 $? 的场景:

  • 判断脚本是否执行成功
  • 脚本中执行“exit 数字” 则把数字传递给?变量
  • 函数中有“return 数字” 则把数字以函数返回值形式传递给?变量
posted @ 2023-02-27 15:45  by1314  阅读(8)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end