当前位置: 首页 > 编程笔记 >

shell脚本编程之if语句学习笔记

孟意致
2023-03-14
本文向大家介绍shell脚本编程之if语句学习笔记,包括了shell脚本编程之if语句学习笔记的使用技巧和注意事项,需要的朋友参考一下

我不是研究linux下的东西的,所以这里只对shell脚本的用法做一个介绍,把我自己在使用过程中出现的问题记录下来,同时也是写下一些shell脚本语法的规则,方便以后查看。先来学习一下条件语句if的用法,通过这一个简单的语法来说明一下shell脚本编程时候的东西。


#!/bin/sh

echo "please input text1"

read text1

echo "please input text2"

read text2

#判断字符串等或者是不等只有一个等号

if test $text1 = $text2

then

echo "text1 equals text2"

else

echo "text1 not equals text2"

fi

#判断字符串是否为空,这里的判断记得在$text1俩边加上双引号 if [ -z "$text1" ] then echo "text1 is null" fi if [ -n "$text1" ];then echo "text1 is not null" fi

#算术比较 text1和text2中的内容只能是数字 if [ "$text1" -eq "$text2" ];then echo "equal" elif [ "$text1" -gt "$text2" ];then echo "great" elif [ "$text1" -le "$text2" ];then echo "little and equals" fi

echo "input a file or not file" read file #判断是文件还是目录 if [ -d $file ];then echo "$file is a directory" elif [ -f $file ];then echo "$file is a file" fi #判断文件的大小是否为空 if [ -s $file ];then #echo -n是为了去掉换行符 echo -n "$file'size is not null" fi

#判断文件的读写权限 if [ -f "$file" ];then  if [ -r "$file" ];then  echo "read"  fi  if [ -w "$file" ];then  echo "write"  fi  if [ -x "$file" ];then  echo "exe"  fi fi

exit 0

我们一点点的来分析一下这个程序,第一行是一个特殊的注释语句,在linux的shell下,使用#作为注释,所以如果你想注释东西就要以#开头,第一行的注释语句是告诉shell执行这个shell脚本的时候使用的是/bin/sh这个目录下的shell。接着使用echo命令来输出一行语句,echo后边的字符串最好用双引号引起来,以后凡是字符串最好都用双引号引起来,这可以避免一些很难查找到的bug,echo后边如何加上-n选项,则代表语句输出以后是不换行的。接着是read命令,这个命令的作用是读取输入到变量text1中,在shell脚本中,我们使用变量的时候不需要预先html" target="_blank">定义,用的时候直接这样用就可以了。接下来就说到了我们本篇博客要说明的if条件语句了,这个if的语法是if..then..elif..then..else..fi具体的看看代码,代码中已经有了体现,在c语言中我们使用if来判断的时候都是将判断语句写在括号中的,这里的判断是使用test命令来判断,你把它理解为在小括号中一样就可以了,test的判断可以是对字符串的判断,对数值的判断,对文件目录等的判断,这个test可以用[符号来代替,这就是在程序的后边没有使用test而是使用[号的原因,[的判断最后要以]号结尾,判断语句写在中括号中,因为[代表的就是test,所以[和后边的判断条件有空格。接下来说回来test可以判断的类型,代码中显示对字符串的判断,注意我们判断text1和text2相等的时候用的是一个等号,大家c语言习惯了不要忘记是一个等号,对变量的取值采用的是在变量前边加了$符号,这样就获得了变量的值了。同时也要加上双引号,你不加也许发现不了错误,但是如果输入是空,也就是直接敲下了回车键,这个时候判断就成了if test = text2,test后边没有东西当然不对了,如果加上双引号是这样的if test "" = text2,这样就不会出错了。其他的关于一些选项,例如-z、-n、-gt、-f、-r等等这些东西每一个都是英文单词的简写,很简单略过!接下来运行shell程序,使用chmod +x命令赋予可执行的权限,然后运行,一切ok!

 类似资料:
  • 本文向大家介绍shell脚本编程之case语句学习笔记,包括了shell脚本编程之case语句学习笔记的使用技巧和注意事项,需要的朋友参考一下 case语句是用来实现多个if..else的功能的,但是用法上有些不同,学过其他语言的人都知道,case中要对变量进行匹配,如果有一个匹配成功的话就执行相应的语句。shell编程中的case语句也是这个意思,case会对字符串进行匹配,是从第一个模式开始的

  • Unix/Linux上常见的 Shell 脚本解释器有 bash、sh、csh、ksh等,习惯上把它们称作一种 Shell。我们常说有多少种 Shell,其实说的是Shell脚本解释器。

  • 本文向大家介绍JavaScript for循环 if判断语句(学习笔记),包括了JavaScript for循环 if判断语句(学习笔记)的使用技巧和注意事项,需要的朋友参考一下 今天学习了JavaScript里面的for循环以及if的判断语句 for(初始值;循环条件;操作){   满足条件要执行的代码语句 } 初始值:循环前的初始化变量,通常为赋值表达式:建议用var赋值,可以加快运行速度。

  • 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员。目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目。有的单位甚至用shell脚本的编写能力来衡量这个linux系统管理员的经验是否丰富。笔者讲这些的目的只有一个,那就是让你认真对待shell脚本,从一开始就要把基础知识掌握牢固,然后要不断的练习,只要你shel

  • 本文向大家介绍MySQL中的基本查询语句学习笔记,包括了MySQL中的基本查询语句学习笔记的使用技巧和注意事项,需要的朋友参考一下 1.基本查询语句 select 属性列表 from 表名和视图列表 [where 条件表达式1] [group by 属性名1 [having 条件表达式2]] [order by 属性名2 [asc|desc]] 2.单表查询 1)使用*查询所有字段 2) 查询指定

  • 本文向大家介绍Shell编程之case语句实战(小结),包括了Shell编程之case语句实战(小结)的使用技巧和注意事项,需要的朋友参考一下 大家好,今天给大家带来的是Shell编程之case语句的使用! 其实case语句还是很好理解的,在shell编程中,if语句有它的语法,函数也有它的语法,那么在我们shell编程中的case语句也是有它的语法的,如下: 在以上的代码中我们发现,以case开