首页 > 系统相关 >shell(2)

shell(2)

时间:2024-07-09 13:42:07浏览次数:10  
标签:elif shell sum 10.22 echo ge score

shell(2)

简答题

1、编写一个shell脚本,从键盘读入一个成绩,并按优秀、良好、中等、及格、不及格输出成绩。

我的答案:

#/bin/bash
read -p "请输入学生成绩(0-100):" score
if [ $sum -gt 100 ] ;then
    echo "输入有误,成绩大于100"
elif [ $sum -ge 90 ] ;then
    echo "优"
elif [ $sum -ge 80 ] ;then
    echo "良"
elif [ $sum -ge 70 ] ;then
    echo "中"
elif [ $sum -ge 60 ] ;then
    echo "及格"
elif [ $sum -ge 0 ] ;then
    echo "不及格"
elif [ $sum -lt 0 ] ;then
    echo "输入有误,成绩小于0"
fi

参考答案 :

#!/bin/bash
next:
read -p "please input a score:"  score  (2分)
if [ $score lt 0 -o $score gt 100 ]    (4分)
then
   echo "illegal score,please input again"
   goto next
fi
if [ $score ge 90 ]    (6分)
then
   echo "A"
elif [ $score -ge 80 ]   (7分)
then
    echo "B"
elif [ $score -ge 70 ]    (8分)
then
     echo "C"
elif [ $score -ge 60 ]    (9分)
then
     echo "D"
Else                      (10分)
     echo "E"
fi

2、请用shell程序写出求1~100所有素数的和。

我的答案:

#!/bin/bash
for((i=1;i<=100;i++))
do
   if((i<=2))
   then
       if((i==2))
       then
           let sum+=i
       fi
   else
      flag=0
      for((j=2;j<=i/2;j++))
      do
          if((i%j==0))
          then
               flag=1
               break
          fi
      done
      if((flag==0))
      then
          let sum+=i
      fi
   fi
done
echo "all prime(1~100) sum is $sum"

参考答案 :

#!/bin/bash
sum=0
for((i=1;i<=100;i++))
do
    flag=0
   for((j=2;j<=i/2;j++))
   do
       if((i%j==0))
       then
            flag=1
            break
      fi
   done
   if((flag==0))
   then
       let sum+=i
   fi
done
echo "$sum"

3、有一个IP地址文件ip.txt,内容如下:

10.22.110.1

10.22.110.10

10.22.110.30

10.22.110.20

10.22.110.40

10.22.110.50

10.22.110.60

请写一个shell程序,统计出有多少台主机可ping通,多少台主机不可Ping通。

我的答案:

#!/bin/bash
n1=0
n2=0
while read line 
do
  ping $line -c 3
  if [ $? -eq 0 ] 
  then 
    let n1++
  elif
    let n2++
  fi
done<ip.txt
echo "there are $n1 machine reachable"
echo "there are $n2 machine unreachable"

参考答案 :

#!/bin/bash
n=0
m=0
for ip in `cat ip.txt`
do
    ping -c 3 v$ip
   if [ $? -eq 0 ]
  then
     let n++
  else
    let m++
  fi
done
echo "reachable :$n, unreachable: $m"

标签:elif,shell,sum,10.22,echo,ge,score
From: https://www.cnblogs.com/aslwr/p/18291632/shell-2-1wlrmg

相关文章

  • Shell处理JSON命令行-jq
    jq是一个命令行工具,专门用来处理和转换JSON数据。官网:https://github.com/jqlang/jq安装aptinstalljq基本用法JSON示例文件file.json[{"name":"Alice","age":30},{"name":"Bob","age":35}]#格式化输出jq'.'......
  • 【Shell】sed xargs grep awk的组合用法
    一、批量删除指定字符串"slave-xxx":grep-inr"slave-xxx"|awk-F':''{print$1}'|xargs-n1-I{}sed-i'/slave-xxx/d'{}二、批量替换指定字符串"slave-xxx":grep-inr"slave-abc"|awk-F':'......
  • 【免杀】图片隐写shellcode
    写入shellcode(C#):usingSystem;usingSystem.IO;classProgram{privatestaticboolIsBmpFile(stringfilePath){try{using(FileStreamstream=newFileStream(filePath,FileMode.Open,FileAccess.Read))u......
  • Shell编程之条件判断语句
    Shell编程之条件判断语句一、条件判断Shell环境根据命令执行后的返回状态值(echo$?)来判断是否执行成功,当返回值为0表示成功或正确,返回值为非0值表示失败或异常。(补充:Linux判断依据在别的编程语言中是反过来的,如java假为0,真为1)1、test命令有两种方式test条件表达式[条件表......
  • Shell编程之条件判断语句
    Shell编程之条件判断语句一、条件判断Shell环境根据命令执行后的返回状态值(echo$?)来判断是否执行成功,当返回值为0表示成功或正确,返回值为非0值表示失败或异常。(补充:Linux判断依据在别的编程语言中是反过来的,如java假为0,真为1)1、test命令有两种方式test条件表达式[条件表......
  • Shell - $0、$1、$2、$?、$!、$$、$*、$#、$@的含义
    $0、$1、$2的含义?在Shell中,$1代表传递给Shell脚本或函数的第一个命令行参数。这些参数也被称为位置参数。例如,如果你运行一个脚本并传递了两个参数,如./script.shfilename1dir1那么$0将是脚本名称本身(在这个例子中是‘......
  • Shell - 2>&1 是什么意思
    2>&1的具体含义是什么?问:为了将stderr和stdout合并成stdout流,我们将它附加到命令中:2>&1例如,要查看编译g++main.cpp的前几个错误:g++main.cpp2>&1|head2>&1的具体含义是什么?答:文件描述符1是标准输出(stdout)。文件描述符2是标准错......
  • 【linux/shell】如何创建脚本函数库并在其他脚本中调用?
    在Shell中创建和使用脚本库通常涉及以下几个步骤:1. 创建脚本库文件脚本库通常是包含了一系列可重用函数的Shell脚本文件。你可以使用文本编辑器创建一个脚本库文件,例如 mylib.sh 。nanomylib.sh在文件中,你可以定义一些函数,例如:#!/bin/bashfunctiongreet{  ech......
  • 随着云计算和容器技术的广泛应用,如何在这些环境中有效地运用 Shell 进行自动化部署和
    在云计算和容器技术的环境中,Shell脚本可以被用于自动化部署和管理任务。下面是一些在这些环境中有效使用Shell进行自动化部署和管理的方法:在云环境中,使用云服务提供商的API进行自动化管理。例如,使用命令行工具或SDK来管理云资源、启动虚拟机、创建存储等。将这些A......
  • 在Linux中,bash shell 中的 hash 命令有什么作用?
    在bashshell中,hash命令与命令查找和缓存机制紧密相关。当你输入一个命令时,bash需要找到该命令的可执行文件的位置(即其路径)以便执行它。bash有几种方式来完成这个任务,其中之一就是使用哈希表(hashtable)来缓存之前查找过的命令的路径。这就是hash命令发挥作用的地方。1.hash命令......