Lazy loaded image
技术分享
shell脚本中几种参数的含义
00 分钟
2021-10-10
2024-12-27
type
status
date
slug
summary
tags
category
icon
password
在看apisix-dashborad的项目时,发现入口的脚本我都没懂啥意思,赶紧查一下shell中各个参数的含义。

含义

  • $0 当前进程的名字
  • $n 当前进程的第n个参数值,n的取值范围为1~9
  • $* 当前进程的所有参数,可以超过9个
  • $# 当前进程的参数个数
  • $$ 当前进程的PID
  • $! 后台运行的上一个进程的pid,比如直接打开一个终端,它的前一个进程pid是0
  • $? 执行的上一条指令的返回值(显示上一条命令的退出状态。0表示没有错误,其他返回值对应的错误在Linux中可以用errno对比)
  • $- 显示shell使用的当前选项,与set命令功能相同
  • @类似,但是可以当做数组使用

$* 和 $@的区别

在没有使用双引号的情况下,这两种使用方式是一致的,每一个参数都是独立的个体;而在使用双引号的情况下则不同, * 会把所有的参数视为一个整体输出是也是一个整体@依然是将每一个参数视为独立的个体。执行下面的两个脚本,就可以看出不同。
不带引号:
输出:
带引号:
输出:
上一篇
BigSur外接2K显示器
下一篇
常用linux命令集