【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


目录
相关文章
|
3月前
|
Linux
在Linux中,列出几种常见打包工具并写相应解压缩参数。
在Linux中,列出几种常见打包工具并写相应解压缩参数。
|
4月前
|
Linux
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
|
4月前
|
网络协议 Linux 网络安全
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
|
3月前
|
网络协议 Linux Shell
在Linux中,linux内核参数如何修改?
在Linux中,linux内核参数如何修改?
|
4月前
|
存储 运维 Linux
Linux磁盘精准缩容:操作详解与技巧
在Linux系统管理中,有效的磁盘空间优化对于维护系统性能至关重要。本文将深入探讨如何在Linux环境下安全地进行磁盘缩容,帮助你合理调整存储资源,确保系统高效运行。跟随本篇的步骤,一起优化你的Linux系统磁盘空间!
Linux磁盘精准缩容:操作详解与技巧
|
3月前
|
监控 Linux 测试技术
什么是Linux系统的网络参数?
【8月更文挑战第10天】什么是Linux系统的网络参数?
56 5
|
4月前
|
运维 Java Linux
(九)JVM成神路之性能调优、GC调试、各内存区、Linux参数大全及实用小技巧
本章节主要用于补齐之前GC篇章以及JVM运行时数据区的一些JVM参数,更多的作用也可以看作是JVM的参数列表大全。对于开发者而言,能够控制JVM的部分也就只有启动参数了,同时,对于JVM的性能调优而言,JVM的参数也是基础。
102 8
|
3月前
|
缓存 网络协议 Unix
Linux 内核参数
Linux 内核参数
93 1
|
3月前
|
存储 安全 Linux
在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
|
3月前
|
存储 Linux Shell
在Linux中,如何编写脚本处理命令行参数?
在Linux中,如何编写脚本处理命令行参数?