${变量:?提示信息}是什么意思?

简介: 当待测的变量不存在或者为空时,将返回提示信息,如果待测变量存在,则直接传变量值。

语法:

${待测变量:?提示信息}

当待测的变量不存在或者为空时,将返回提示信息,如果待测变量存在,则直接传变量值。

实例:

### 变量存在时:
[root@www.lutixia.cn ~]# name=lutixia
[root@www.lutixia.cn ~]# echo ${name:?"请传入有效变量值"}
lutixia

因为变量name存在值,所以直接返回变量值。

### 变量不存在时:
[root@www.lutixia.cn ~]# echo $username

[root@www.lutixia.cn ~]# echo ${username:?"请传入有效变量值"}
-bash: num: 请传入有效变量值

因为username变量没有定义过,所以返回提示信息。这个在脚本中可以有效防止未对变量赋值,导致的问题。

相关文章
|
Linux Perl
解决脚本实现:sed -i 替换变量,变量中含有特殊转义字符的问题
解决脚本实现:sed -i 替换变量,变量中含有特殊转义字符的问题
解决脚本实现:sed -i 替换变量,变量中含有特殊转义字符的问题
|
9月前
C --- 自定义一个宏打印当前文件名、函数名、行号
C --- 自定义一个宏打印当前文件名、函数名、行号
120 0
|
8月前
|
Shell Linux
10.2.2 变量的取用与设置:echo, 变量设置规则, unset
10.2.2 变量的取用与设置:echo, 变量设置规则, unset
77 0
|
8月前
|
存储 Shell
Shell 变量使用(环境变量、预定义变量、位置变量、自定义变量的区别)
Shell 变量使用(环境变量、预定义变量、位置变量、自定义变量的区别)
82 0
|
Shell
SHELL中变量字串中包含$时怎么办?
SHELL中变量字串中包含$时怎么办?
93 0
|
Shell
SHELL下去掉变量中的回车换行
SHELL下去掉变量中的回车换行
301 0
|
C++
‘this’不能用于常量表达式错误(C++)【问题解决】
‘this’不能用于常量表达式错误(C++)【问题解决】
205 0
‘this’不能用于常量表达式错误(C++)【问题解决】
|
Shell
shell中for循环变量有空格的问题——IFS变量
shell中for循环变量有空格的问题——IFS变量
385 0
|
Shell Perl Linux
去掉Enter字符(\r)的几个方法
数据:test.txt: f1:f2:f3:0#1 Shell:   #!/bin/bash while read line do echo $line result1=$(echo $line|awk -F ':' '{print $4}' ) echo $re...
1262 0
脚本变量中包含空格的解决办法
脚本变量中包含空格的解决办法
167 0