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

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

语法:

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

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

实例:

### 变量存在时:
[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变量没有定义过,所以返回提示信息。这个在脚本中可以有效防止未对变量赋值,导致的问题。

相关文章
|
7月前
|
并行计算 监控 DataWorks
函数计算操作报错合集之测试函数时,报错“IndentationError: unexpected indent”,是什么原因
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
7月前
|
Windows
qt中编译错误:error: C2001: 常量中有换行符的解决办法
qt中编译错误:error: C2001: 常量中有换行符的解决办法
C --- 自定义一个宏打印当前文件名、函数名、行号
C --- 自定义一个宏打印当前文件名、函数名、行号
320 0
|
8月前
|
编译器 C语言 C++
C/C++未定义行为的例子汇总
C/C++未定义行为的例子汇总
libcmtd.lib(wincrt0.obj) : error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 __tmainCRTStartup 中被引用
libcmtd.lib(wincrt0.obj) : error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 __tmainCRTStartup 中被引用
167 0
libcmtd.lib(wincrt0.obj) : error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 __tmainCRTStartup 中被引用
error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
157 0
error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
172 0
求字符串的长度(4种写法)(普通写法,函数写法(两种:有无返回值),不允许创建临时变量法(递归))
|
Windows
error LNK2019: 无法解析的外部符号 _WinMain,在函数_tmainCRTStartup中被引用
error LNK2019: 无法解析的外部符号 _WinMain,在函数_tmainCRTStartup中被引用
232 0
|
C语言
错误解决办法:gcc编译时提示对‘sqrt’未定义的引用
错误解决办法:gcc编译时提示对‘sqrt’未定义的引用
229 0
成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”