|NO.Z.00053|——————————|LinuxShell|——|Linux&Shell$变量.V10|——|变量内容置换|
一、变量的内容置换
变量y没有设置 | 变量y为空值 | 变量y设置值 | |
x=${y-新值} | x=新值 | x为空 | x=$y |
x=${y:-新值} | x=新值 | x=新值 | x=$y |
x=${y+新值} | x为空 |
x=新值 | x=新值 |
x=${y:+新值} | x为空 | x为空 | x=新值 |
x=${y=新值} |
x=新值 y=新值 |
x为空 y值不变 |
x=$y y值不变 |
x=${y:=新值} | x=新值 y=新值 |
x为空 y值不变 |
x=$y y值不变 |
x=${y?新值} | 新值输出到标准错误,输出(就是屏幕) | x为空 | x=$y |
x=${y:?新值} | 新值输出到标准错误输出 | 新值输出到标准错误输出 | x=$y |
二、变量的内容置换说明
### --- 变量的内容置换说明
~~~ 如果大括号内没有“:”,则变量 y 是为空,还是没有设置,处理方法是不同的;
~~~ 如果大括号内有“:”,则变量 y 不论是为空,还是没有没有设置,处理方法是一样的。
~~~ 如果大括号内是“-”或“+”,则在改变变量 x 值的时候,变量 y 是不改变的;
~~~ 如果大括号内是“=”,则在改变变量 x 值的同时,变量 y 的值也会改变。
~~~ 如果大括号内是“?”,则当变量 y 不存在或为空时,会把“新值”当成报错输出到屏幕上。
~~~ 看的头都晕了吧,
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv008-shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」