Linux编程_Shell脚本练习题

1,编写shell脚本,计算1~100的和。

#! /bin/bash

sum=0
for i in `seq 1 100`;do
        sum=$[$i+$sum]
done
echo $sum

2,编写shell脚本,输入一个数字n并计算1~n的和。

要求:如果输入的数字小于1,则重新输入,直到输入正确的数字为止。

#! /bin/bash
read -p "input number:" n
sum=0;
for((i=0;i<=$n;i++))
do
    sum=`expr $sum + $i`
done
echo $sum

3,编写shell脚本,批量建立用户user_00、user_01...user_99。

要求:所有用户同属于users组。

#! /bin/bash

groupadd users
for i in `seq -w 0 9
        uesradd -g users user_0$i4
done

4,编写shell脚本,批量添加用户 jsj01-jsj09、jsj10-jsj99。

#! /bin/bash

for((i=1;i<20;i++));
do
if(i<10);then
jsj="jsj0$i";
else
jsj="jsj$i";
fi
useradd $jsj
done

5,编写shell脚本,要求实现如下功能:当执行一个程序的时候,这个程序会让使用者选择boy或者girl;如果使用者输入B或者b时,就显示:He is a boy;如果使用者输入G或者g时,就显示:He is a girl;如果是除了B/b/G/g以外的其他字符,就显示:I don’t know。

#! /bin/bash

echo -n your choice:
read choice
case $choice in
g)echo "She is a girl.";;
G)echo "She is a girl.";;
b)echo "He is a boy.";;
B)echo "He is a boy.";;
*)echo "I don't know.";;
esac

6,编写shell脚本,实现两个变量之间的加减乘除运算。

#!/bin/bash
read -p "input number:" a
read -p "input number:" b
read -p "input fuhao:" c
case $c in
+)let "sum=$a+$b"
echo $sum;;
-)let "sum=$a-$b"
echo $sum;;
*)let "sum=$a*$b"
echo $sum;;
/)let "sum=$a/$b"
echo $sum;;
esac

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏锦小年的博客

python学习笔记7.1-内建模块os

Python编程语言优势特点比较突出,已经出现就凭借这些功能优势吸引着开发人员的眼球。在Python这一语言中,有一种标准模块叫做os模块,Python os模...

1906
来自专栏黑泽君的专栏

错误: 类Something是公共的, 应在名为 Something.java 的文件中声明

错误: 类Something是公共的, 应在名为 Something.java 的文件中声明

3572
来自专栏Java进阶

volatile和synchronized 实现原理的差别

3417
来自专栏Laoqi's Linux运维专列

shell 1>&2 2>&1 &>filename重定向的含义和区别

1335
来自专栏Python中文社区

Django博客教程(五):处理 http 请求完全解读

專 欄 ❈追梦人物,Python中文社区专栏作者。电子科技大学计算机学院研究生,从事大数据分析研究方向。主要使用 Python 语言进行相关数据的分析,熟练使...

28710
来自专栏zingpLiu

协程及Python中的协程

协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。(其实并没有说明白~)

1462
来自专栏社区的朋友们

深入浅出 Nodejs( 二 ):Nodejs 文件模块机制

本篇教程关于Nodejs的文件模块机制,具体讲CommonJs规范以及Nodejs文件模块的实现原理。

4622
来自专栏noteless

[零] JavaIO入门简介 程序设计语言 为什么需要IO库

本文旨在引申出来Java IO的概念含义,作为学习JavaIO一个起步的了解知识点

1022
来自专栏前端菜鸟变老鸟

sublime VI编辑器 十分钟熟练掌握各种命令

大家都知道,写代码的时候总有许多繁琐的操作,换行、删除一行、复制一行、去到行首、行尾等等。通常情况下是使用鼠标直接点击,这会大大的降低我们的开发效率,因此大家想...

821
来自专栏Golang语言社区

Golang语言社区--【游戏服务器知识】多线程并发

引言:上篇文章说到了多进程并发式的服务端模型,如上一篇文章所述,进程的频繁创建会导致服务器不堪负载,那这一篇博客主要讲述的是线程模型和线程池的方式来提高服务端的...

3324

扫码关注云+社区

领取腾讯云代金券