博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
巧用test判断来写shell脚本
阅读量:7026 次
发布时间:2019-06-28

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

感觉最近很忙啊,阿里巴巴和百度马上就要笔试了,算法神马的还没有看。。还是安心学习linux吧,决定在接下来的一周里,每天写一个shell script

 

  1. #!/bin/bash  
  2. #输出提示语句,请输入一个文件名,这个脚本会检测这个文件的类型和权限  
  3. echo "please input a filename,then the script will check the file's type and permission"  
  4. #获取用户的输入,存放到filename变量中  
  5. read -p "filename= " filename  
  6. #判断filename是否为空,如果为空则返回true,然后输出文件名不能为空的提示,然后中断程序  
  7. test -z $filename && echo "filename can't be null" && exit 0  
  8. #如果不存在这个文件,则输出提示语句,然后中断程序  
  9. test ! -e $filename && echo "$filename doesn't exit" && exit 0  
  10. #判断这个filename是否为文件,如果是,将“file”赋给变量ftype  
  11. test -f $filename && ftype="file"  
  12. #判断这个filename是否为目录,如果是,将"directory"赋给变量ftype  
  13. test -d $filename && ftype="directory"  
  14. #判断这个filename的权限是否有 可读,如果有,将"readable"赋给变量perm  
  15. test -r $filename && perm="readable"  
  16. #判断这个filename的权限是否有 可写,如果有,将"writable"赋给变量perm  
  17. test -w $filename && perm="$perm writable“  
  18. #这个是判断是否可执行的,以上三个,分别就是linux的r,w,x权限  
  19. test -x $filename && perm="$perm executable"  
  20. #输出结果喽~  
  21. echo "$filename type=$ftype    permssion=$perm"

 

 

 

 

 

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

你可能感兴趣的文章
2.32. Spring boot with ELK(Elasticsearch + Logstash + Kibana)
查看>>
初识kbmmw 5 中httpsys的支持
查看>>
[裴礼文数学分析中的典型问题与方法习题参考解答]4.5.3
查看>>
Redis和Memcache对比及选择
查看>>
LBaaS 实现机制 - 每天5分钟玩转 OpenStack(125)
查看>>
.NET破解之爱奇迪(三)
查看>>
向Github提交代码时遇到的一些问题
查看>>
HttpWebRequest(跨域下载文件——网络流转换为内存流下载)
查看>>
无线路由器的些许知识
查看>>
java中集合类中Collection接口中的Map接口的常用方法熟悉
查看>>
activiti实战系列 排他网关(ExclusiveGateWay)
查看>>
maven 将jar 下载到工程当前目录下
查看>>
论文笔记之:Speed Up Tracking by Ignoring Features
查看>>
[Tex学习]给汉字注音
查看>>
关于fegin 没进入 fallback 以及Hystrix Dashboard 监控界面没出图形的解决方式
查看>>
如何把由js生成的内容水平居中?
查看>>
真题算法考点
查看>>
E-MapReduce集群启停HDFS/YARN服务
查看>>
Java设计模式---Builder模式
查看>>
Apache Storm源码阅读笔记&OLAP在大数据时代的挑战
查看>>