Linux是一种类似于UNIX的操作系统,最近几年随着开源移动设备的兴起变得越来越流行,在Linux中,经常会遇到变量为空的情况,了解如何判断变量是否为空是必不可少的知识。
要判断变量是否为空,可以使用 if 语句和[ -z “$变量名” ]语句,[ ]内是一个单字符的测试idc.com/xtywjcwz/17502.html" target="_blank">命令,测试某个变量是否为空,如果变量名非空返回真,否则返回假。
举个例子:
fruit=”apple”
if [ -z “${fruit}” ]; then
echo “fruit is empty”
echo “fruit is not empty”
在这个例子中,使用[ -z “${fruit}” ]这个语句来判断变量fruit是否为空。 fruit变量是有值的,所以输出 “fruit is not empty”。如果fruit变量为空,就会输出 “fruit is empty”。

另外还有一种判断变量是否为空的方法就是用if语句 + :空语句的混合方法:
if [ “${fruit}” ]
echo “fruit is not empty”
echo “fruit is empty”
这里可以看到,使用if语句加上:空语句可以实现判断变量是否为空的目的。如果变量不为空,就会执行echo语句,输出“fruit is not empty”;变量为空,就会输出“fruit is empty”。
总结来说,Linux系统中判断变量是否为空有多种方法,如使用变量名添加 [ -z “$变量名” ]语句,或使用if语句加上:空语句。使用两种方法都可以有效判断变量是否为空。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
数据库中@addr is null 和ISNULL(@addr,'')两个有什么区别?
第一个是判断语句,返回值是TRUE 或者 FALSE,判断你的字符串变量@addr是不是为空。 如果是返回TRUE,否返回FALSE而第二个是如果是空则赋值的语句。 返回的是一个字符串,这个字符串就是,连个单引号之间什么都没有。
linux 中 if [ "x${var}" = "x" ] 什么意思
表示字符串x${_ef_submit_Jobmanager}和字符串x相等,其中{}用以区分字符串,{}内部被当做一个整体处理,$是取内容运算符,表示其后所接变量的值,该剧应该是判断变_ef_submit_jobmanager的内容是否为空。 顺便说一句,一般情况下,if和then不可以在同一列下对其,应为:ifthen@@!@#$!#$elsefi希望对楼主有作用。 。 。
一个关于linux变数的问题
1.先来看看“使用预设值”下的两行 1)第一行表示“str 没有设定”时把var设定为expr;“str 为空字符串”时则保持原设定,即空字符串;“str 已设定非为空字符串”时仍保持原设定,即$str。 简单说来就是原来没设定我就设定,有设定就保持原设定。 2)第二行{}内加了个冒号,表示原来设定了而且非空字符串就保持原来设定,否则我就来设定。 2.“使用其他值”与“使用预设值”正好相反,正如一个“-”一个“+”。 3. 上面我们看到加号减号并不会改变原变量,即表中str的值不变,但是等号则可以改变str,这就是为什么“设定预设值”下面两行看起来比较复杂。 其实和上面差不多啦。 只是有时会改变一下原变量str的值,具体见表。 (应该会分析了吧。 。 。 ) 4.最后两行 1)判断变量str是否存在,不存在就输出错误,即显示值expr;存在就将其赋值给var。 2)判断变量str是否存在且不为空字符串,yes就将其赋值给var,否则输出错误,即显示值expr。
发表评论