if语句:

if条件语句的使用格式:
  1、单分支语句
    if 条件;then
      执行语句
    fi
  2、双分支语句
    if 条件;then
      执行语句1
    else
      执行语句2
    fi
  3、多分支语句
    if 条件;then
      执行语句1
    elif;then
      执行语句2
    elif;then
      执行语句3
    else
      执行语句4
    fi

在某些条件判断下,如果不满足该条件,我们必须手动退出程序,否则后面的代码无法执行;
代码正确执行完成后,我们制定 exit 0 为正确退出码;

判断某个文件是否存在

#!/bin/bash
# 判断文件是否存在
if [ $# -lt ]; then
  echo "At least one argument."
  exit
fi
if [ -e $ ];then
  echo "存在"
else
  echo "不存在"
if

判断当前系统上是否有用户的默认shell程序是否为bash程序,如果有,就显示有多少个这类用户,否则就显示没有这类用户;【并且显示出那些用户是bash】

#!/bin/bash
# 判断用户的默认shell程序类型 declare -i sum=`grep "bin/bash$" /etc/passwd | wc -l` if grep "/bin/bash$" /etc/passwd &> /dev/null ; then
  echo "存在 $sum 个用户,shell程序为/bin/bash"
  grep "/bin/bash$" /etc/passwd | cut -d: -f1
  exit
else
  echo "没有这类用户"
  exit
fi

写出一个脚本程序,给定一个文件,比如:/etc/inittab a、判断这个文件中是否有空白行? b、如果有,则显示其空白行的行号,否则显示没有空白行
提示,空白行使用^[[:space:]]*$

#!/bin/bash
# B=`grep -n "^[[:space:]]*$" /etc/inittab | wc -l`
C=`grep -n "^[[:space:]]*$" /root/abc | cut -d: -f1` if [ $B -eq ] ; then
  echo "没有空白行"
  exit
else
  echo "有空白行,空白行为 $C 行"
  exit
fi

给定一个文件,如果是普通文件,就显示出来,如果是目录文件,也显示出来,否则就显示“无法识别”

#!/bin/bash
#
# input()
read -t -p ("请输入一个文件:") filename // -t 等待时间
echo # 默认用来换行 if [ -n $filename ];then
echo "eg. /etc/fstab"
exit
fi if [ -f $filename ]; then
echo "$filename 是一个普通文件"
exit
elif [ -d $filename ];then
echo "$filename 是一个目录文件"
exit
else
echo "无法识别"
exit
fi

for语句

for语句格式:
  for 变量 in 列表;do  
    循环体
  done

case语句

case分支格式
  case 变量 in
    PAT1)
      执行语句
      ;;
    PAT2)
      执行语句
      ;;
    *)
      默认执行语句
      ;;   

  esac

while 循环

格式:

  定义初始值
  while 条件判断 ; do
    循环体
    值变化语句
  done

break 跳出循环
continue 跳出本次循环
sleep 延长多长时间后,继续向下执行命令

until

循环 与 while 用法相同
区别:只有 判断条件为 False 的时候,才会进入循环语句;

1到100的偶数和

#!/bin/bash
# 偶数和
declare -i sum=
for i in $(seq );do
  let sum+=$i
done
echo “总数为:$sum”

最新文章

  1. 【夯实PHP基础】nginx php-fpm 输出php错误日志
  2. windows 7(32/64位)GHO安装指南(U盘引导篇)~
  3. this的安身之处
  4. 索引深入浅出(3/10):聚集索引的B树结构
  5. HTML5 Web Storage
  6. 第三十九章 微服务CICD(1)- gitlab搭建与使用(docker版)
  7. 一个任务:(小甲鱼python视频第29讲) 代码整理与总结
  8. 设计模式之桥接模式——Java语言描述
  9. WordCount项目基本功能
  10. 黑电平校正BLC
  11. Collection类,泛型
  12. Nginx高级配置,同1台机器部署多个tomcat、配置多个域名,每个域名指向某一个tomcat下的项目,共用Nginx80端口访问;
  13. vue组件通信方式总结
  14. java中new两个对象,在堆中开辟几个对象空间
  15. IOC轻量级框架之Unity
  16. bzoj1610 / P2665 [USACO08FEB]连线游戏Game of Lines
  17. Arduino 入门之小星星
  18. Caused by: java.lang.NoClassDefFoundError: javax/el/ELManager
  19. Java面试题03-访问权限控制
  20. C# 中的 #region 和 #endregion 的作用

热门文章

  1. 自己关于SSM框架的搭建
  2. go语言从例子开始之Example33.工作池
  3. ubuntu14.0 服务器webmin安装
  4. python基础:6.python最大的递归层数
  5. JVM---汇编指令集
  6. 牛客假日团队赛9 A 乘积最大 (简单DP)
  7. 弗洛伊德Floyd求最小环
  8. Nginx反向代理维基百科镜像制作全解析
  9. centos查看磁盘空间大小
  10. NTP时钟调整策略