shell 编程重要的应用就是管理系统,对于管理系统中成千上万的程序而言,查询某个文件名是否存在,并且获取该文件名所指代文件基本信息是系统管理员的基本任务。shell命令可以很轻松的完成这项任务。

#program this is a example for ################
#########     command test     ################
read -p "type in the filename:        " filename
test -z $filename &&echo "you must put in a legal name"&&exit 0

//连续的&&表示命令是顺序执行的,前一个执行成功才能执行后一个中间有任何一个环节错误,则返回报错信息

test ! -e $filename &&echo "not exist" &&exit 0
test -e $filename &&echo "exit"

这里想实现实现的功能是,如果文件不存在则退出script,本来想写作

test -e $filename&&echo "exit"||echo"not exit"&&exit 0

但是发现这样无论filename是否存在,程序都会在这里退出
因为如果文件存在,则test传回一个0值,||判断后执行echo "exit",然后又传回一个0值,&&判断后执行exit 0
如果test 传回一个非0值,则||判断后执行echo "not exit",传回0值,&&判断后还是执行exit 0;
如果写成

test -e $filename ||echo "not exit"&&echo "exit"

如果存在,test返回非0,执行echo "exit"
如果不存在,则test返回0,执行echo "not exit"
echo "not exit" 又返回0,再执行echo "exit"
所以没办法在一条语句中判断并推出。

test -f $filename &&filetype="file"
test -d $filename &&filetype="dictory"
test -r $filename &&perm=" readable"
test -w $filename &&perm=${perm}" writable"
test -x $filename &&perm=${perm}" execuable"

/perm=${变量}”__”表示在变量后补充___

echo "file type is $filetype and the mod is $perm"
exit 2

版权声明:本文为博主原创文章,未经博主允许不得转载。

shell编程基础(2)---与||相关推荐

  1. Linux Shell编程基础

    linux系统下给命令指定别名alias命令用法: 在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名.虽然可以为命令建立"链接"解决长文件名的问题,但 ...

  2. 【⛔拒绝内卷,学会shell,走遍天下都不怕⛔】shell编程基础

    shell编程基础 shell简介 属性 shell是一个命令行解释器,建立了用户和操作系统之间的接口.当我们在命令行输入一个命令后,shell会对命令进行解释,调用相应的程序去执行.shell是一种 ...

  3. shell编程基础笔记

    第一部分shell编程基础 1shell简介 什么是shell 存取权限和安全 shell简单脚本 shell特性 1.1什么是shell shell是核心程序kernel之外的指令解析器,是一个程 ...

  4. 「Linux」Linux Shell 编程基础入门

    Linux Shell 编程基础入门 1. 变量 1.1 变量定义 1.2 使用变量 1.3 引号 1.4 将命令的结果赋值给变量 1.5 位置参数 1.6 特殊变量及其含义 2. 字符串 2.1 字 ...

  5. Shell编程基础常用代码1

    Shell编程 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Sp ...

  6. Shell编程基础---shell的结构、执行及变量

    2019独角兽企业重金招聘Python工程师标准>>> 本文索引: shell脚本介绍 shell脚本结构和执行 date命令用法 shell脚本中的变量 shell脚本介绍 she ...

  7. 第二课《shell 编程基础》

    编程语言分类: 编译型 解释型 编译型语言:c.c++.c# 解释型语言: 内置型:shell.perl源码并入了linux kernel,提供内核级单条语句的效率 外置型:python.java.j ...

  8. [Linux] 10. shell编程基础《updating》

    第一个shell脚本 shell 脚本通常是以#!起始的文本文件 Linux环境下的任何脚本文件都是以一个被称为 shebang 的特殊行作为起始的. 在这行中,字符 #! 被置于解释器路径之前./b ...

  9. Linux 脚本大师不是人人都可以达到的,但Shell编程基础还是有必要掌握的

      Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,现在逐渐被Python等脚本代替.既然是基本功,那就需要掌握,毕竟学习 Shell 脚本的过程中,还是能了解到很多Linux系统 ...

  10. Linux后台开发系列之「06.Shell 编程基础

    程序员的工作台 版权声明:本文为 cdeveloper 原创文章,可以随意转载,但必须在明确位置注明出处! 本文摘要 本文主要介绍 Linux Shell 编程的基础知识,包含下面 8 个方面: Sh ...

最新文章

  1. [Unity3D]总结使用Unity 3D优化游戏运行性能的经验
  2. C语言13567星号如何输出,c语言程序编程心得
  3. Java学习笔记(五)--流程控制
  4. html fond 怎么居中,BeautifulSoup标签定位方法总结
  5. 微型计算机物理地址转换,微型计算机及接口技术2015年4月真题试题(04732)
  6. 50. 熟悉与STL相关的Web站点
  7. OpenCV 实现分水岭算法
  8. 【2017】听懂你能看懂的句子
  9. linux下hex文件到bin文件的格式转化,hex转换成bin文件小工具(HEX2BIN.EXE)下载_hex转换成bin文件小工具(HEX2BIN.EXE)官方下载-太平洋下载中心...
  10. 【Java · 类加载】类加载器
  11. 题15 Oracle临时表有几种?临时表和普通表主要区别是什么?
  12. RT-Thread操作系统
  13. 测试删除hive表时出错
  14. Icons - Material Design各种ICON图标大全
  15. R语言 时间序列arima模型
  16. Nginx+Lua+Redis实现广告缓存
  17. 视频知识普及:码率,分辨率,帧率,清晰度
  18. 小型校园网的设计与组建
  19. SpringFramework教程
  20. 移动端vConsole查看控制台信息

热门文章

  1. ssh远程执行多个命令
  2. 深入浅出SpringBoot源码分析
  3. Smarty中文手册,Smarty教程,Smarty模板的入门教材
  4. C语言100个经典的算法
  5. asp.net 2.0 中GridView里设置日期格式
  6. 《异步处理在分布式系统中的优化作用》学习笔记
  7. C++/C++11中引用的使用
  8. excel 导入mysql_如何将Excel文件导入MySQL数据库
  9. thinkphp 调用php文件上传,ThinkPHP实现带验证码的文件上传功能实例
  10. java mobile phone games_j2me100-src Java