if和case的基础格式及其应用

本文基础命令

-a ,&& 都是且的意思 前后条件都需要达成才可运行
-o , || 都是或的意思 前后命令达成一个就可运行

前后命令都需达成例: [ 表达式1 ] && [ 表达式2 ]
[ 表达式1 -a 表达式2 ]
前后命令达成一个即可例 :[ 表达式1 ] || [ 表达式2 ]
[ 表达式1 -o 表达式2 ]

if的单分支,双分支,多分支格式

if单分支:
if [ 表达式 ]
then
命令序列
fi

if多分支:
if [ 表达式 ]
then
命令序列
else
命令序列
fi

if多分支:
if [ 表达式 ]
then
命令序列
elif [ 表达式 ]
then
命令序列
elif [ 表达式 ]
then
命令序列
else
命令序列
fi

case格式

read -p “输入提示:” num
case $num in
)
;;
)
;;
*)
esac

if/case练习:

1.检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限

在这里插入图片描述

 2.提示用户,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误         

在这里插入图片描述

3.用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt 目录
在这里插入图片描述

4.提示用户输入内容,使用if 语句判断输入的内容是否为整数。
在这里插入图片描述

5.根据上一题再判断输入的内容是奇数还是偶数。
在这里插入图片描述

6.用if 语句判断主机是否存活
在这里插入图片描述

7.用case语句在/etc/init.d/目录中写一个firewalld脚本,并加入到系统服务管理中(#chkconfig: 2345 99 20)
使能够使用 service firewalld start|stop|restart|status 来管理firewalld服务,
要求如果命令选项不对,则提示 “用法: $0 {start|stop|status|restart}”。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#软件开发中常用的设计模式有许多,下面将介绍几个常见的设计模式及其应用场景,并提供相应的示例代码。 1. 单例模式(Singleton Pattern): - 应用场景:当需要保证一个类只有一个实例存在时,可以使用单例模式。例如,全局配置类、日志记录器等。 - 示例代码: ```csharp public class Singleton { private static Singleton instance; private static readonly object lockObj = new object(); private Singleton() { } public static Singleton Instance { get { if (instance == null) { lock (lockObj) { if (instance == null) { instance = new Singleton(); } } } return instance; } } } ``` 2. 工厂模式(Factory Pattern): - 应用场景:当需要根据不同的条件创建不同的对象时,可以使用工厂模式。例如,创建日志记录器的工厂类。 - 示例代码: ```csharp public interface ILogger { void Log(string message); } public class FileLogger : ILogger { public void Log(string message) { // 实现文件日志记录逻辑 } } public class DatabaseLogger : ILogger { public void Log(string message) { // 实现数据库日志记录逻辑 } } public class LoggerFactory { public ILogger CreateLogger(string loggerType) { switch (loggerType) { case "FileLogger": return new FileLogger(); case "DatabaseLogger": return new DatabaseLogger(); default: throw new ArgumentException("Invalid logger type."); } } } ``` 3. 观察者模式(Observer Pattern): - 应用场景:当一个对象的状态发生变化时,需要通知其他对象做出相应变化时,可以使用观察者模式。例如,实现事件通知机制。 - 示例代码: ```csharp public interface IObserver { void Update(string message); } public class Subject { private List<IObserver> observers = new List<IObserver>(); public void Attach(IObserver observer) { observers.Add(observer); } public void Detach(IObserver observer) { observers.Remove(observer); } public void Notify(string message) { foreach (var observer in observers) { observer.Update(message); } } } public class Observer : IObserver { public void Update(string message) { Console.WriteLine("Received message: " + message); } } // 示例使用 var subject = new Subject(); var observer = new Observer(); subject.Attach(observer); subject.Notify("Hello, world!"); ``` 以上是一些常见的设计模式及其在C#软件开发中的应用场景和示例代码。这些设计模式可以提高代码的可维护性、可扩展性和重用性,但在实际应用中需要根据具体需求进行选择和适应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值