猿问

在Bash中测试非零长度字符串:[ - n“$ var”]或[“$ var”]

在Bash中测试非零长度字符串:[ - n“$ var”]或[“$ var”]

我已经看到bash脚本以两种不同的方式测试非零长度字符串。大多数脚本使用-n选项:

#!/bin/bash# With the -n optionif [ -n "$var" ]; then
  # Do something when var is non-zero lengthfi

但是-n选项并不是真正需要的:

# Without the -n optionif [ "$var" ]; then
  # Do something when var is non-zero lengthfi

哪种方式更好?

同样,这是测试零长度的更好方法:

if [ -z "$var" ]; then
  # Do something when var is zero-lengthfi

要么

if [ ! "$var" ]; then
  # Do something when var is zero-lengthfi


陪伴而非守候
浏览 589回答 3
3回答

手掌心

正确答案如下:if [[ -n $var ]] ; then   blahfi注意使用[[...]],正确处理为您引用变量。
随时随地看视频慕课网APP
我要回答