$符号的三种用法

本文详细介绍了在Shell脚本中$符号的多种用途,包括显示脚本参数和获取变量及环境变量的值。例如:$$表示当前进程ID,$!表示最后运行的后台进程PID,$?表示上一指令的返回值,$*和$@用于获取所有参数,$#表示参数个数,$0表示脚本名,$1到$n则代表参数。同时,还解释了${}在变量替换中的作用,如取值、长度计算以及对数组的操作。另外,提到了$()和``用于命令执行的语法。
摘要由CSDN通过智能技术生成

1.显示脚本参数

$$: 该脚本本身的进程ID,即当前进程的ID
$!: 脚本最后运行的后台Process的PID
$?: 上一指令的返回值,成功是0,不成功是1。
$* 和 $@: 该脚本调用时的所有参数列表。

$*与$@ 功能相同,区别在于“$*”返回的是一个字符串,字符串中存在多个空格,而“$@”返回多个字符串。

$#: 运行该脚本时的参数个数
$0: 该shell脚本本身的名字
$1$n: 第1个参数,第2个参数……第n个参数。但是第10个参数及以上需要用${10}、 ${11}来显示。

2.获取变量和环境变量的值

path=2
echo ${path}

${} 是对变量子串替换的经典实例:
假設我們定義了一個變量為:
file=/dir1/dir2/dir3/my.file.txt
我們可以用 ${ } 分別替換獲得不同的值:

${file#*/}:拿掉第一條 / 及其左邊的字串:dir1/dir2/dir3/my.file.txt 
${file##*/}:拿掉最後一條 / 及其左邊的字串:my.file.txt 
${file#*.}:拿掉第一個 . 及其左邊的字串:file.txt 
${file##*.}:拿掉最後一個 . 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值