【shell 脚本】两种登录方式

#!/bin/bash
echo "while 方法!"

echo "请输入登录用户名:"
read name1
if test $name1 = "yang"
then
  echo "登录成功"
else
  echo "登录失败,请输入正确的用户名:"
  read name1
  while [ $name1 != "yang" ]
   do
      echo "登录失败,请输入正确的用户名:"
      read name1
      if test $name1 = "yang"
        then
           echo "登录成功"
           break;
      fi
   done
fi

echo "until 方法!"
echo "请输入登录用户名:"
read name1
if test $name1 = "yang"
then
  echo "登录成功"
else
  until [ $name1 == "yang" ]
  do
      echo "登录失败,请输入正确的用户名:"
      read name1
      if test $name1 = "yang"
        then
           echo "登录成功"
           break;
      fi
  done
fi  

exit 0 

时间: 2024-10-03 09:41:16

【shell 脚本】两种登录方式的相关文章

Windows校验文件哈希的两种常用方式

大家经常都到哪儿去下载软件和应用程序呢?有没想过下载回来的软件.应用程序或资源是否安全呢?在 Windows 10 和 Office 2016 发布当初,很多没权限的朋友都使用第三方网站去下载安装映像.而大家如何保证自己下载回来的映像或软件就是官方版本,而没有被别人篡改过呢? 很多朋友会想到将下载回来的资源校验 MD5 或 SHA1 与官方版哈希值进行对比,如果无误则表示未被篡改.大家平常在 Windows 中都使用何种工具算校验值呢?本文向大家推荐 Windows 校验文件哈希的两种常用方式.

jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解_jquery

本文实例讲述了jQuery autoComplete插件两种使用方式及动态改变参数值的方法.分享给大家供大家参考,具体如下: 一.一次加载.多次使用: 前端JS代码: /*客户名称自动匹配*/ function customerAutoComplete(){ $.ajax({ type:"GET", url:encodeURI("/approvalajax/salesOrderApproval_findCustomerList"), dataType:"j

Python 多线程开发的两种常用方式

目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用. 2.7版本之前python对线程的支持还不够完善,不能利用多核CPU,但是2.7版本的python中已经考虑改进这点,出现了multithreading  模块.threading模块里面主要是对一些线程的操作对象化,创建Thread的class.一般来说,使用线程有两种模式: A

深入Android中BroadcastReceiver的两种注册方式(静态和动态)详解

今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来接收来自系统和应用中的广播.在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能:当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作:当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户

Oracle优化器的两种优化方式

Oracle的优化器有两种优化方式: 基于规则的优化方式:Rule-Based Optimization(RBO) 基于成本或者统计信息的优化方式(Cost-Based Optimization:CBO) RBO方式:优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则.比如我们常见的,当一个where子句中的一列有索引时去走索引. CBO方式:CBO是在ORACLE7 引入,但到ORACLE8i 中才成熟.ORACLE 已经声明在ORACLE9i之后的版本中,RBO将不再支持.它

javascript中createElement的两种创建方式

  本文实例讲述了javascript中createElement的两种创建方式.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 <html xmlns="http://www.w3.org/1999/xhtml"> &l

将HTML的左右尖括号等转义成实体形式的两种实现方式

  这篇文章主要介绍了将HTML的左右尖括号等转义成实体形式的两种实现方式,需要的朋友可以参考下 前端开发工作中,经常需要将HTML的左右尖括号等转义成实体形式.我们不能把<,>,&等直接显示在最终看到的网页里.需要将其转义后才能在网页上显示. 转义字符(Escape Sequence)也称字符实体(Character Entity).定义转义字符串的主要原因是 "<"和">"等符号已经用来表示HTML TAG,因此不能直接当作文本中

linux shell脚本 两个变量中间有一个/ 一起输出时前面的变量出不来

问题描述 linux shell脚本 两个变量中间有一个/ 一起输出时前面的变量出不来 配置文件config.txt 内容为: abc=/home/test 计划在shell脚本中获取等号后面的路径,shell脚本如下; #!/bin/bash var=`grep abc /home/test/config.txt` #获取abc开头的一行 echo $var put_path=${put_line##*=} #截取等号后面路径 echo "${put_path}/1.txt" 可以获

android intent-intent 两种启动方式各有什么特点

问题描述 intent 两种启动方式各有什么特点 简述 intent. 两种启动方式 各有什么特点........................................................................... 解决方案 第一种:显示启动 在Mainfiest的配置: 以设置组件方式启动: Intent i=new Intent() i.setComponent(new ComponentName(""com.oo.intent"&quo