【linux】参数操作(一)

简介: 【linux】参数操作(一)

一、参数变量


语法

${parameter}
  • $parameter 类似,即,变量参数的值,但$parameter只能用于不那么模糊的场景。




二、 如果参数没有设置,则用默认字符串


语法

${parameter-default} 
或者 ${parameter:default}



示例

root@FENG:/mnt/h/tmp/tmp# var1=abc
root@FENG:/mnt/h/tmp/tmp# var2=ABC
# 没有设置 var3
root@FENG:/mnt/h/tmp/tmp# echo ${var1-${var2}}
abc
root@FENG:/mnt/h/tmp/tmp# echo ${var3-${var2}}
ABC
root@FENG:/mnt/h/tmp/tmp# date
Sun Aug 27 17:14:29 CST 2023


注意:${parameter-default}${parameter:-default}绝大多数时候是可以替换了,除了一种情况:

root@FENG:/mnt/h/tmp/tmp# var3=
root@FENG:/mnt/h/tmp/tmp# echo ${var3-0}
root@FENG:/mnt/h/tmp/tmp# echo ${var3:-0}
0
root@FENG:/mnt/h/tmp/tmp#
  • 可以看到var3声明了,但没有设置值的时候,echo ${var3-0} 啥也不输出,echo ${var3:-0} 依然输出0。


三、如果参数没有设置,则设置为默认值


语法:

${parameter=default}
或者${parameter:=default}


示例

root@FENG:/mnt/h/tmp/tmp# echo ${var=abc}
abc
root@FENG:/mnt/h/tmp/tmp# echo ${var=xyz}
abc
# 因为 var 已经被设置为abc了,所以第二次执行时,var没有被改变。
root@FENG:/mnt/h/tmp/tmp# date
Sun Aug 27 17:21:06 CST 2023



四、如果参数设置了,则设置为alt_value,否则设置为空字符串


语法:

${parameter+alt_value}
或者${parameter:+alt_value}



示例

root@FENG:/mnt/h/tmp/tmp# var=test
root@FENG:/mnt/h/tmp/tmp# echo ${var+qijing}
qijing
root@FENG:/mnt/h/tmp/tmp# date



五、如果参数设置了,则打印err_msg,并且退出脚本。

语法:

${parameter?err_msg}
或者
${parameter:?err_msg}



示例:

root@FENG:/mnt/h/tmp/tmp# unset var
root@FENG:/mnt/h/tmp/tmp# echo ${var?abort}
-bash: var: abort
root@FENG:/mnt/h/tmp/tmp# date
Sun Aug 27 17:30:02 CST 2023


目录
相关文章
|
5天前
|
大数据 Linux 虚拟化
OVA Import:一个最快速度打造Linux虚拟机的操作 | Linux vmware
OVA Import:一个最快速度打造Linux虚拟机的操作 | Linux vmware
13 0
|
19天前
|
分布式计算 Hadoop Linux
实验: 熟悉常用的Linux操作和Hadoop操作
实验: 熟悉常用的Linux操作和Hadoop操作
12 2
|
19天前
|
Linux 芯片 Ubuntu
Linux驱动入门 —— 利用引脚号操作GPIO进行LED点灯
Linux驱动入门 —— 利用引脚号操作GPIO进行LED点灯
|
19天前
|
Ubuntu Linux
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-2
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-2
|
19天前
|
Linux 芯片
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-1
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-1
|
19天前
|
存储 Linux C++
linux信号量与PV操作知识点总结
linux信号量与PV操作知识点总结
|
19天前
|
存储 Linux
Redhat Enterprise Linux磁带机简单操作
Redhat Enterprise Linux磁带机简单操作
16 2
|
19天前
|
运维 监控 Linux
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
50 0
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
|
19天前
|
Shell Linux 开发工具
【Linux】环境变量常见指令操作&基本实验(入门必看!)
【Linux】环境变量常见指令操作&基本实验(入门必看!)
|
19天前
|
Shell Linux
【Linux】Bash支持各种指令选项的原理:命令行参数
【Linux】Bash支持各种指令选项的原理:命令行参数