早教吧 育儿知识 作业答案 考试题库 百科 知识分享

shell[-n\"\$$var1\$$var2\"]

题目详情
shell [ -n \"\$$var1\$$var2\" ]
▼优质解答
答案和解析
这是shell测试表达式,用于判断字符串是否非空.如果非空,返回true,否则false.
前面加了反斜杠的 $ 符号被转义,失去其原本的功能(求变量值),因此不作展开.
前面没有反斜杠的 $ 符号保持其求值的功能,因此 $var1 和 $var2 的值被代入字符串.
假设 var1=1,var2=2
那么这个测试表达式展开后变为:
[ -n "$1$2" ]
由于双引号也被转义,所以展开后被保留.这样,还可以继续展开,最终将位置参数$1和$2 (脚本或函数的传入参数)的值代入字符串,并判断表达式是否非空.