#!/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
BASH中关于变量内替换详解
猜你喜欢
转载自blog.csdn.net/liudglink/article/details/51720050
今日推荐
周排行