shell编程——判断条件

简介:

shell编程中有两种形式进行对判断条件进行测试:

形式一:test

形式二:[    ]

举个小例子说明其用法及其注意事项:

例子:判断文件 "new.txt" 是否存在,存在现实“exist', 不存在现实”not  exitst"

test -e new .txt && echo "exist"  || echo "not exist"
 
[ -e new .txt ] && echo "exist"  || echo "not exist"

执行结果:

         

实现细节说明:当一次执行很多命令式&&、 ||很有用处,它们是从前往后依次执行。

        对于&&:当前面执行条件正确时,执行&&之后的,错误就停住了

          对于||:当前面的执行条件错误时,执行||之后的,正确就停住了。

                     因此根据&&、||的特性可以对条件作出一个模式“条件 && 执行1|| 执行2”。当条件为真时执行1;当为假时“条件&&执行1”绝对为假,因此执行2

注意事项:

  • [ -e  new.txt ]中每个字符(包括[、 -e、 new.txt、 ])都有空格。[-e  new.txt]是不正确的。
  • [   ]里面的变量名要用" "引起来,如[ "$filename" -e]
  • [   ]里面的常量要用引号(单或双引起来)

下面把判断条件列举下:

        

        

        

        

        

        

        

 下面整个案例实战一把:

1.提示用户输入文件名

2.判断文件名是否存在。若不存在,提示“文件不存在”,退出程序;否则继续执行

3.判断文件名是文件还是目录

4.判断文件名的权限(r w x)

复制代码
#!bin/bash
read -p "Input the filename:" filename
test -z "You must input a filename." && exit 0
#判断是否存在
test ! -e $filename && echo "The file $filename DO NOT exist." && exit 0
#判断文件名类型
test -f $filename && filetype="rugulre file"
test -d $filename && filetype="directory"
#判断文件执行权限
test -r $filename && perm="readable"
test -w $filename && perm="writable"
test -x $filename && perm="execuate"
#输出结论
echo "The file $filename is a $filetype"
echo "And the permission is: $perm"
复制代码

 

 




本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/archive/2013/03/25/2981487.html,如需转载请自行联系原作者

相关文章
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
428 6
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
Shell Linux 开发工具
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
375 12
|
Shell
Shell编程(下)
Shell编程(下)
240 1
|
Shell Linux Windows
Shell编程(上)
Shell编程(上)
217 1
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
存储 Unix Shell
shell脚本编程基础
【9月更文挑战第4天】
305 12
|
Shell KVM 虚拟化
Shell 数组编程
【8月更文挑战第22天】 Shell 数组编程
251 10