相关疑难解决方法(0)

如何测试变量是否为空或仅包含空格?

以下 bash 语法验证是否param不为空:

 [[ !  -z  $param  ]]
Run Code Online (Sandbox Code Playgroud)

例如:

param=""
[[ !  -z  $param  ]] && echo "I am not zero"
Run Code Online (Sandbox Code Playgroud)

没有输出,很好。

但是当param除了一个(或多个)空格字符为空时,情况就不同了:

param=" " # one space
[[ !  -z  $param  ]] && echo "I am not zero"
Run Code Online (Sandbox Code Playgroud)

“我不是零”是输出。

如何更改测试以将仅包含空格字符的变量视为空?

shell bash string shell-script

290
推荐指数
5
解决办法
53万
查看次数

如何检查“if”语句中是否存在变量?

我需要在if语句中检查变量是否存在。有以下作用:

if [ -v $somevar ]
then
    echo "Variable somevar exists!"
else
    echo "Variable somevar does not exist!"
Run Code Online (Sandbox Code Playgroud)

与此最接近的问题是this,它实际上并没有回答我的问题。

bash test variable

98
推荐指数
4
解决办法
25万
查看次数

如何使用 nounset shell 选项测试 4.2 版之前的 Bash 中是否定义了变量?

对于“GNU bash,版本 4.2”之前的 Bash 版本,是否有任何等效-vtest命令选项替代方案?例如:

shopt -os nounset
test -v foobar && echo foo || echo bar
# Output: bar
foobar=
test -v foobar && echo foo || echo bar
# Output: foo
Run Code Online (Sandbox Code Playgroud)

bash test

22
推荐指数
2
解决办法
5万
查看次数

标签 统计

bash ×3

test ×2

shell ×1

shell-script ×1

string ×1

variable ×1