shell脚本如何判断非空,出现`[:缺少`]异常`
1. shell脚本if语句出现异常
文章图片
一个bug.png 在shell下编写if语句时,要注意空格符号的存在
在if和[]之间以及[ ]和之中内容之间都要有空格存在
如下
文章图片
正确的写法 确保空格存在之后,就不会出现问题了
2. 判断输入变量/变量
#!/bin/shSTRING=$1
if [ -z "$STRING" ];
then
echo "STRING is empty"
fi
if [ -n "$STRING" ];
then
echo "STRING is not empty"
fi
【shell脚本如何判断非空,出现`[:缺少`]异常`】也可以通过来判断:
if [ -n "$pid" ]
then
# 若不是空,则根据pid删除进程
echo "Stoping application"
kill -9 $pid
else
# 否则,则打印日志
echo "application is not running"
fi
3. shell脚本中if中其他变量
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
示例代码:
# 若是文件存在,则直接删除对应路径下的文件,就是使用-e文件表达式
if [ -e $APPLICATION_HOME/$APP_NAME.jar ];
then
rm -rf $APPLICATION_HOME/$APP_NAME.jar;
fi
linux 下shell中if的“-e,-d,-f”是什么意思
推荐阅读
- Shell-Bash变量与运算符
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程
- thinkphp|thinkphp 3.2 如何调用第三方类库