复习while,case,if,for及各种判断脚本

#!/bin/bash
#Author [email protected]
n=10
m=0
p=0
while true
do
echo """
        产品列表为: 小米
                    苹果
                    三星
        警告:本地址产品仅限购买5件!!!
"""
for i in `seq 100`
do
let n++
if [ $n -eq 16 ];then
        echo "本地址产品限购5件,购买过多,即将5秒内退出"
for w in `seq -w 5 -1 1`
do
echo "退出还有 $w 秒!!!"
sleep 1
done
exit 0
fi
read -p "请输入购买的产品:" x
case $x in
小米)
echo "购买小米成功!!!"
;;
苹果)
echo "购买苹果成功!!!"
;;
三星)
echo "购买三星成功!!!"
;;

*)
read -p "输入有误,请按Y/y键继续或者按X/x退出:" b
if [ $b == y -o $b == Y ];then
        continue
elif [ $b == x -o $b == X ];then
        exit 0
else
        echo "输入有误,回到产品列表"
continue
fi
;;
esac
let m++
let p++
echo "当前购物车产品有$p件"
echo "购买数量为: $m"
read -p "是否要继续购买,购买请按Y/y,退出请按X/x:" c
if [ $c == Y -o $c == y ];then
        continue
elif [ $c == X -o $c == x ];then
        exit 0
else
        echo "输入有误,退出处理"
                exit 0
fi
done
done

本人下午无聊的紧, 虽然已经上班很久,但是对脚本基本还懵懵懂懂,上学学的东西都已经和西北风一起吹走了, 所以写个小破玩应复习一下, 脚本有很多可以省略的语句我也没去弄, 发出来以后找不到循环语句的格式的时候可以来翻翻,附上判断写法:

-o 或者 ||  为逻辑或

-a 或者&& 为逻辑与

-eq 等于

-ne 不等于

-gt 大于

-ge 大于等于

-lt 小于

-le 小于等于

!取反

=   字符串相等

!=  字符串不相等

-n  字符串不为空

-z  字符串为空

-d 目录

-e 文件

-r 可读

-w 可写

-x 可执行

时间: 2024-10-17 02:13:07

复习while,case,if,for及各种判断脚本的相关文章

CASE函数用法:相当于switch..case:,能够实现等值判断,也可以做范围判断 相当于if...else

--CASE函数用法:--1.相当于switch..case:,能够实现等值判断--语法:--case 字段/表达式 --判断指定折字段或者表达式的值,它不能判断null值,因为null不是一个具体的值-- when 值 then '自定义值'-- when 值 then '自定义值'-- else '前面都不满足的情况'--end--特点:-- 1.会生成一个新列-- 2.then后面的值的类型需要一致select StudentNo,StudentName,case ClassId when

求 1+2+...+n, 要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句 (A?B:C)。

求 1+2+...+n,要求不能使用乘除法.for.while.if.else.switch.case 等关键字以及条件判断语句 (A?B:C). #include <bits/stdc++.h> using namespace std; int Sum(int n) { int Ret = 0; n == 0 || (Ret = Sum(n-1)); return n + Ret; } class A{ public: A() { sum += ++n; } static int sum;

题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)

题目:求1+2+…+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字以及条件判断语句(A?B:C). 分析:这道题没有多少实际意义,因为在软件开发中不会有这么变态的限制.但这道题却能有效地考查发散思维能力,而发散思维能力能反映出对编程相关技术理解的深刻程度. 通常求1+2+…+n除了用公式n(n+1)/2之外,无外乎循环和递归两种思路.由于已经明确限制for和while的使用,循环已经不能再用了.同样,递归函数也需要用if语句或者条件判断语句来判断是继续

case做带选项的shell脚本以及结合while做交互选择的shell脚本的最基本写法

1.case做带选项的执行脚本: #!/bin/bash case $1 in x) echo "x is selected" ;; *) echo "please use x" esac 二.case结合while做交互脚本: #!/bin/bash while true do read -p "Enter port of chaoxingdata(d,1): " port case ${port} in d) echo "port=

工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话"Hello World!!"   2> 编写一个能输出系统信息的 /root/sysinfo 脚本,执行后依次输出当前红帽系统的版本信息.当前使用的内核版本.当前系统的主机名 方案: 规范Shell脚本的一般组成: 1> #! 环境声明(Sha-Bang)    2> # 注释文本 

SQL利用Case When Then多条件判断

CASE     WHEN 条件1 THEN 结果1     WHEN 条件2 THEN 结果2     WHEN 条件3 THEN 结果3     WHEN 条件4 THEN 结果4 .........     WHEN 条件N THEN 结果N     ELSE 结果X END Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex          WHEN '1' THEN '男'          WHEN '2' THEN '女' ELSE

实战基础技能(09)-------SQL利用Case When Then多条件判断

CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 WHEN 条件3 THEN 结果3 WHEN 条件4 THEN 结果4......... WHEN 条件N THEN 结果N ELSE 结果XENDCase具有两种格式.简单Case函数和Case搜索函数.--简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'

46、求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

思路:循环或者递归都有个结束条件和执行条件.用&&短路与代替. //短路与&&:就是只有前一个条件满足才可以去判断第二个条件. //递归的出口就是n=0时,当n>0是每次都会执行&&之后的表达式sum += Sum_Solution(n-1): public class Solution { static int sum = 0; public int Sum_Solution(int n) { //短路与&&:就是只有前一个条件满足才

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)

代码如下: public int Sum_Solution(int n) { int temp = n; boolean b = (temp>0)&&(temp += Sum_Solution(n-1))>0; return temp; }