Shell脚本boolean类型的使用注意点

推荐使用方式

在shell脚本里,推荐按以下方式声明和使用布尔类型。

bool=true
if [ "$bool" = true ]; then
if [ "$bool" = "true" ]; then
if [[ "$bool" = true ]]; then
if [[ "$bool" = "true" ]]; then
if [[ "$bool" == true ]]; then
if [[ "$bool" == "true" ]]; then
if test "$bool" = true; then
if test "$bool" = "true"; then

不推荐使用方式

不推荐直接对变量判断布尔值,如

if $var; then
echo 'true!'
fi

这种方式使用布尔值,在以下这几种情况,$var为true:

  • var未定义
  • var='' 
  • var=
  • unset var
  • var='<有效的命令>'


版权声明:著作权归作者所有。

相关推荐

Ruby调用shell脚本总结

Ruby可以使用以下几种方法来执行shell脚本。1、使用反引号``调用shell脚本语法`cmd` 返回命令的结果示例`echo "hello"` 2、内置语法%x( cmd ) 其中%x后面为分隔符,上面使用了(作为分隔符,当遇到收括号即表示命令结束。这些分隔符可以为[,{等。示例%x( echo 'hello' 

Shell脚本使用curl命令发送JSON数据

在Linux使用命令行工具curl发送JSON数据需要把content-type设置为“application/json”。-H "Content-Type: application/json 示例curl -H "Content-Type: application/json" -X POST&nb

Shell:如何在awk脚本里使用变量

在awk里用变量最好的方法是使用-v选项。使用方式awk -v var= 单个变量~]$ v1="变量1" ~]$ awk -v var1="$v1" 'BEGIN {print var1}' 变量1 多个变量使用多个-v var=xxx来接收多个变量~]$&

Kotlin:基本类型 - Char与Boolean

字符类型Kotlin使用Char表示字符,与Java不同的是,它并不能直接和数字做类型转换。字符表示它们使用单引号''把字符括起来特殊字符:特殊字符串使用反斜杠开头,如\t, \b, \n, \r, \', \", \\ and \$其他一些字符可以使用Unicode编码,如'\uFF00'数字转换Kotlin的字符不能直接和数字做类型转换,但我们可以它们的unicode码的相对差来做数

Linux shell脚本获取命令行的输出

在Linux使用命令替换来获取命令行的输出命令替换格式:$(command) 或者`command` 这里的`为反引号。示例OUTPUT="$(ls -1)" echo "${OUTPUT}" 参考:Bash Reference Manual