BASH中关于变量内替换详解
2016-06-20 13:18
423 查看
#!/bin/bash #================================================================= # Copyright © 2016 by Abodu, All Rights Reserved. # FNAME: bash_variableSet_example.sh # AUTHR: Liu Dongguo # CREAT: 2016-06-20 11:27:09 # ENCOD: UTF-8 Without BOM # VERNO: 1.0.0 # UPLMT: 2016-06-20 13:15:46 #================================================================= #${variable:-word}的示例 #[{1 #其C语言表示形式为: #if (NULL == variable) # return word; #else # return $variable; #fi unset var_name #将变量var_name置为空。 var_name= echo ${var_name:-NewValue} #var_name为空,因此返回NewValue #NewValue echo $var_name #var_name的值未变化,仍然为空。 var_name=OldValue #给var_name赋值。 echo ${var_name:-NewValue} #var_name非空,因此返回var_name的原有值。 #OldValue echo $var_name #var_name的值未变化,仍然OldValue。 #OldValue #${variable-word}的示例 #[{1 #其伪码表示形式为: #if (variable is NOT set) # return word; #else # return $variable; #fi unset var_name #取消该变量var_name的设置。 echo ${var_name-NewValue} #var_name为空,因此返回NewValue #NewValue echo $var_name #var_name的值未变化,仍然为空。 var_name=OldValue #给var_name赋值,即便执行var_name=,其结果也是一样。 echo ${var_name-NewValue} #var_name非空,因此返回var_name的原有值。 #OldValue echo $var_name #var_name的值未变化,仍然OldValue。 #OldValue #${variable:=word}的示例 #[{1 #其表示形式为: #if (NULL == variable) # variable=world; # return word; #else # return $variable; #fi unset var_name #将变量var_name置为空。 var_name= echo ${var_name:=NewValue} #var_name为空,设置变量为NewValue同时返回NewValue。 #NewValue echo $var_name #var_name的值已经被设置为NewValue。 #NewValue var_name=OldValue #给var_name赋值。 echo ${var_name:=NewValue} #var_name非空,因此返回var_name的原有值。 #OldValue echo $var_name #var_name的值未变化,仍然OldValue。 #OldValue #${variable=word}的示例 #[{1 #其伪码表示形式为: #if (variable is NOT set) { # variable=world; # return word; #} else if (variable == NULL) { # return $variable; //variable is NULL #} else { # return $variable; #} unset var_name #取消该变量var_name的设置。 echo ${var_name=NewValue} #var_name未被设置,设置变量为NewValue同时返回NewValue。 #NewValue echo $var_name #var_name的值已经被设置为NewValue。 #NewValue var_name= #设置变量var_name,并给该变量赋空值。 echo ${var_name=NewValue} #var_name被设置,且为空值,返回var_name的原有空值。 echo $var_name #var_name的值未变化,仍未空值。 var_name=OldValue #给var_name赋值。 echo ${var_name=NewValue} #var_name非空,因此返回var_name的原有值。 #OldValue echo $var_name #var_name的值未变化,仍然OldValue。 #OldValue #${variable:+word}的示例 #[{1 #其C语言表示形式为: #if (NULL != variable) # return word; #else # return $variable; var_name=OldValue #设置变量var_name,其值为非空。 echo ${var_name:+NewValue} #由于var_name有值,因此返回NewValue #NewValue echo $var_name #var_name的值仍然为远之OldValue #OldValue unset var_name #将var_name置为空值。 var_name= echo ${var_name:+NewValue} #由于var_name为空,因此返回null。 echo $var_name #var_name仍然保持原有的空值。 #${variable+word}的示例 #[{1 #其伪码表示形式为 #if (variable is set) # return word; #else # return $variable; #fi var_name=OldValue #设置变量var_name,其值为非空。 echo ${var_name+NewValue} #由于var_name有值,因此返回NewValue #NewValue echo $var_name #var_name的值仍然为远之OldValue #OldValue unset var_name #取消对变量var_name的设置。 echo ${var_name+NewValue} #返回空值。 echo $var_name #var_name仍未被设置。 #${variable:?word}的示例 #[{1 #其C语言表示形式为: # if (NULL != variable) { # return variable; # } else { # if (NULL != word) # return "variable : word"; # else # return "parameter null or not set"; # } var_name=OldValue #设置变量var_name,其值为非空。 echo ${var_name:?NewValue} #由于var_name有值,因此返回变量的原有值 #OldValue unset var_name #将var_name置为空值。 var_name= echo ${var_name:?NewValue} #由于var_name为空,因此返回word。 #-bash: var_name: NewValue echo $var_name #var_name仍然保持原有的空值。 echo ${var_name:?word} #如果word为空,返回下面的输出。 #-bash: var_name: parameter null or not set #${variable:offset}示例 #[{1 var_name=notebook echo ${var_name:2} #tebook echo ${var_name:0} #如果offset为0,则取var_name的全部值。 #notebook #${variable:offset:length}示例 #[{1 var_name=notebook echo ${var_name:0:4} #note echo ${var_name:4:4} #book
相关文章推荐
- android wifi 无线调试
- 运维入门
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Linux Shell常用技巧
- Shell 脚本编程陷阱
- shell字符串操作详解
- Shell中删除某些文件外所有文件的3个方法
- Ruby中执行Linux shell命令的六种方法详解
- VB使用shell函数打开外部exe程序的实现方法
- Shell编程的一些知识集合
- Shell中的for和while循环详细总结
- 什么是Shell?Shell脚本基础知识详细介绍
- Shell脚本中引用、调用另一个脚本文件的2种方法
- Shell脚本解压rpm软件包
- Linux Shell 数组建立及使用技巧
- Shell脚本实现复制文件到多台服务器的代码分享
- Shell脚本实现批量替换文件内容
- Shell脚本实现的一个简易Web服务器例子分享
- linux Shell学习笔记第五天