Linux - Shell脚本或命令行中的特殊变量,及exit函数

在linux及unix的shell中,以$开头的字符串表示的是shell中定义的变量,这些变量可以是系统自动定义的,也可以是用户自己定义的。

比如$PATH表示的是系统的命令搜索路径,和windows的%path%是一样的$HOME则表示是用户的主目录,也就是用户登录后工作目录。

使用${ }的形式来引用变量,进行变量替换成相应值。一般情况下,$var与${var}是没有区别的,但是用${ }会比较精确的界定变量名称的范围。

符号

说明

$#

传给脚本的参数个数

$0

脚本本身的名字

$1

传递给该shell脚本的第一个参数

$2

传递给该shell脚本的第二个参数

$n

传递给shell脚本的第n个参数。个位数的,可直接使用数字,但两位数以上,则必须使用 {} 符号来括住,如${10}

$@

传给脚本的所有参数的列表(空格分隔的多个字符串)

$*

以一个单字符串显示所有向脚本传递的参数,中间有空格

$$

脚本运行的当前进程ID号,或当前终端的进程ID

$?

显示最后命令的退出状态,0表示没有错误,其他表示有错误。一般来说,UNIX(linux) 系统的进程以执行系统调用exit() 来结束的。这个回传值就是status值。范围为一个字节,

$!

Shell最后运行的后台Process的PID(脚本中或命令行中)

$-

显示shell使用的当前选项,与set命令功能相同。使用Set命令设定的Flag一览

exit函数:

#include <stdlib.h>

void exit(int status);

这个函数会使进程正常终止,返回给父进程一个值,为status & 0xFF。

参考:

1,Linux中一些变量的意义

Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义_51CTO博客_shell $1 $2

2,Linux中的$符号的各种用法

https://www.cnblogs.com/klausage/p/14058532.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜流冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值