字符串判空有空格报错:binary operator expected

使用-z-n对一个变量判空时,需要注意若直接使用[ -n ${ARG} ]这种形式,若${ARG}中有空格将会报错,

#!/bin/bash
ARG="sd dd"
if [ -n ${ARG} ]; then
    echo ‘ARG:‘ ${ARG}
else
    echo ‘ARG is empty.‘
fi

输出:

line 27: [: sd: binary operator expected
ARG is empty.

解决方法,使用[[ -n ${ARG} ]][ -n "${ARG}" ]

原文地址:https://www.cnblogs.com/faberbeta/p/linux-shell025.html

时间: 2024-11-05 21:34:52

字符串判空有空格报错:binary operator expected的相关文章

【转】 grep 文件报错 “Binary file ... matches”

原文链接 http://blog.csdn.net/yaochunnian/article/details/7261006 grep 文件报错 “Binary file ... matches” 原因:文件为binary文件 解决:strings vers.log.2010-03-09 | grep -i ‘mezimedia’ 或者 grep -a -i ‘mezimedia’ vers.log.2010-03-09 grep命令是linux下的行过滤工具,其参数繁多,下面就一一介绍个个参数的

cookie设置日期时间有空格报错:java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie value

rt,代码及报错如下: java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie value 现暂时将"yyyy-MM-dd hh:mm:ss"中的空格用#替代,就能正常显示时间日期了...

time.strftime:格式化字符串中含中文报错处理

import time print(time.strftime("%Y年%m月%d日 %H时%M分%S秒",time.localtime())) 报错: UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: Illegal byte sequence 打印当前时间 import time print(time.localtime()) 运行结果: time.struct_tim

vue项目空格报错,缩进不对报错,格式报错!!!

vue-cli构建项目之后发现写几句代码就会报错,但是语法什么的都没有问题,只是因为缩进.空格之类的,对于初学者格式不规范的人来说是相当难受的 图中框住的位置都会报错!! 现在有两种办法: 1.是因为你设置了eslint(规范化代码),如果你不想有规范的js代码,可以重新初始化关掉eslint.  Use ESLint to lint your code? (Y/n) 这一步选no 2.有个简单的解决办法: 解决办法就是进入 config 目录下找到文件  index.js 文件 将文件中的 u

解决xa0空格报错,cmd下执行 python文件

在CMD命令行中,输入 "python" + "空格",即 "python ": 将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可

fastjson 返回json字符串,JSON.parse 报错

这是由于转义字符引起的如 : \ , fastjson 处理后是双反斜杠:\\ ,而 JSON.parse 解析时需要4个反斜杠 ,即 js解析json 反斜杠时,需要 4个 解成 1 个 解决方法: 后台返回前,把处理后的json字符串再处理,所有双反斜杠 替换成 4个 : JSON.toJSONString(list).replaceAll("\\\\", "\\\\\\\\"): 或 前端接收后处理成4个反斜杠 对于其他的其他的特殊字符 1.双引号("

导入json文件报错,TypeError expected string or buffer

原因:用字符串赋值后,python会把双引号转换为单引号 import json data = [{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}] print(type(data),data) 执行结果: <class 'list'> [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}] 但是了,json是不支持单引号的.可以用下

C语言报错:error: expected ‘while’ at end of input } ^

在建线程池过程当中遇见上图所示错误: 解决方法: Linux中定义: SYNOPSIS #include <pthread.h> void pthread_cleanup_push(void (*routine)(void *),void *arg); void pthread_cleanup_pop(int execute); Compile and link with -pthread. DESCRIPTION These functions manipulate the calling

安卓报错编译失败Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $

昨天还能正常运行,今天打开安卓,发现项目编译失败,还以为是自己的代码有错误啊,后来上网一查才发现这是常见错误,直接build->clean project 就可以解决了. 重新编译之后就会发现问题已经成功解决. Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $ 原文地址:https://www.cnblogs.com/1gaoyu/p/12550030.html