关于shell变量的测试与内容替换
2015-04-13 20:09
225 查看
参考资料《鸟哥的私房菜——Linux基础学习篇(第三版)》。
在《鸟哥的私房菜——Linux基础学习篇(第三版)》第11章中,鸟哥关于变量的测试与内容替换中,鸟哥最后用范例说明了变量替换中'-'、'='、'?'三种特殊符号的用法。
看完这些例程,给我最大的感受就是var=${str-newvar}或者var=${str=newvar}或者var=${str?newvar}的变量替换就与C语言中唯一的三目运算符?的用法类似:
Max=(x>y)?(x:y)。此处我们分析如下:
var=${str-newvar}:如果str不存在,则var=newvar; //选择后者
如果str存在,则var=${str}; //选择前者
同理“=”也可类似解释:
var=${str=newvar}:如果str不存在,则var=newvar; //选择后者
但由于是等于号,所以str=newvar;
如果str存在,则var=${str}; //选择前者
str保持原有内容
对于“?”的解释为“
var=${str?无此变量}:如果str不存在,则输出错误提示:无此变量; //选择后者
如果str存在,则var=${str}; //选择前者
str保持原有内容
在《鸟哥的私房菜——Linux基础学习篇(第三版)》第11章中,鸟哥关于变量的测试与内容替换中,鸟哥最后用范例说明了变量替换中'-'、'='、'?'三种特殊符号的用法。
看完这些例程,给我最大的感受就是var=${str-newvar}或者var=${str=newvar}或者var=${str?newvar}的变量替换就与C语言中唯一的三目运算符?的用法类似:
Max=(x>y)?(x:y)。此处我们分析如下:
var=${str-newvar}:如果str不存在,则var=newvar; //选择后者
如果str存在,则var=${str}; //选择前者
同理“=”也可类似解释:
var=${str=newvar}:如果str不存在,则var=newvar; //选择后者
但由于是等于号,所以str=newvar;
如果str存在,则var=${str}; //选择前者
str保持原有内容
对于“?”的解释为“
var=${str?无此变量}:如果str不存在,则输出错误提示:无此变量; //选择后者
如果str存在,则var=${str}; //选择前者
str保持原有内容
相关文章推荐
- Shell基础-Bash变量-变量测试与内容替换
- [Shell]Bash变量:变量测试与内容替换
- linux:变量测试与内容替换
- shell脚本中变量中字符串替换的测试 /和//的区别
- 26 变量测试与内容替换
- bash变量-数值运算与运算符/变量测试与内容替换/环境变量配置文件
- shell中变量内容的删除、替换
- shell中变量的测试与替换
- shell中变量的测试与替换
- 【shell】变量内容的删除和替换
- linux 命令系列之 变量测试与内容替换(51)
- *变量的测试与内容替换*
- Linux学习之变量测试与内容替换
- LINUX Bash变量测试与内容替换, 环境变量配置文件, 其他配置文件和登入信息
- Linux中变量测试与内容替换
- linux中对shell变量内容的修改和替换
- bash变量测试与内容替换-61
- 关于BASH中变量内容的删除、取代与替换
- linux批量替换文件内容3种方法(perl,sed,shell)
- shell脚本中蛮量替换(将命令运行结果存入变量中)