小编典典

什么是特殊的美元符号 shell 变量?

all

在 Bash 中,似乎有几个变量具有特殊的、一致的含义值。例如,

./myprogram &; echo $!

将返回后台进程的 PID myprogram。我知道其他人,比如$?我认为是当前的 TTY。还有其他人吗?


阅读 159

收藏
2022-03-01

共1个答案

小编典典

  • $1, $2, $3, … 是位置参数
  • "$@"是所有位置参数的类数组构造,{$1, $2, $3 ...}.
  • "$*"是所有位置参数的 IFS 展开,$1 $2 $3 ....
  • $#是位置参数的数量。
  • $-当前为 shell 设置的选项。
  • $$当前shell(不是子shell)的pid。
  • $_最近的参数(或启动后立即启动当前 shell 的命令的绝对路径)。
  • $IFS是(输入)字段分隔符。
  • $?是最近的前台管道退出状态。
  • $!是最近的后台命令的 PID。
  • $0是 shell 或 shell 脚本的名称。

以上大部分内容都可以在 Bash
参考手册的特殊参数下找到。shell设置的所有环境变量

如需综合指数,请参阅参考手册变量指数

2022-03-01