博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【shell 】syntax error in conditional expression
阅读量:6992 次
发布时间:2019-06-27

本文共 882 字,大约阅读时间需要 2 分钟。

编写shell 脚本时遇见 syntax error in conditional expression 错误,
#!/bin/bash
# cleanup /var/log/message
LOG_DIR=/var/log
ROOT_DID=0
LINES=50
E_XCD=66
E_NOTROOT=67
if [[ "$UID" -ne "$ROOT_UID"]]
then
 echo "Must be root to run this script."
 exit $E_NOTROOT
fi
if [ -n "$1"]
then
    lines=$1
else
   lines=$LINES
fi
.......
root@client.example.com # sh test.sh
test.sh: line 12: syntax error in conditional expression
test.sh: line 13: syntax error near `then'
test.sh: line 13: `then'
仔细查看是由于 if 条件中的中括号[ ]与变量之间必须有空格
root@client.example.com # vi test.sh
#!/bin/bash
# cleanup /var/log/message
LOG_DIR=/var/log
ROOT_DID=0
LINES=50
E_XCD=66
E_NOTROOT=67
if [[ "$UID" -ne "$ROOT_UID" ]]
then
 echo "Must be root to run this script."
 exit $E_NOTROOT
fi
if [ -n "$1"]
then
    lines=$1
else
   lines=$LINES
fi
.....
"test.sh" 60L, 793C written
修改以后,再次执行成功
root@client.example.com # sh test.sh 20
Logs cleaned up 

转载地址:http://vwcvl.baihongyu.com/

你可能感兴趣的文章
关于sqlMap中的一些小问题
查看>>
失恋不等于失败_450
查看>>
交换机端口绑定
查看>>
【C语言】 模拟计算器
查看>>
(C#基本语法)1.符号与标记
查看>>
TCP状态转换--值得学习--方便记忆
查看>>
浅谈前端性能优化
查看>>
经典的GDB调试命令
查看>>
ios禁止横屏
查看>>
Java并发之wait方法
查看>>
淘宝平台架构师谈海量互联网服务技术架构(转载)
查看>>
使用socket进行HTTP调用
查看>>
我的友情链接
查看>>
liunx网络相关配置
查看>>
OGG replicat错误 ORA-01403及解决方案
查看>>
5步教给你如何进行网站排名优化?
查看>>
文件备份代码
查看>>
9.思科交换路由基本命令操作
查看>>
安装第三方YUM源
查看>>
编译安装Mysql5.5数据库软件
查看>>