shell脚本练习题
下面列出了几个linux学习中的shell脚本题目
1、九九乘法表
#!/bin/bash
echo "九九乘法表"
# 注意((之间不能有空格、加减乘除的格式、还有转义字符\*、-ne
for (( i=1; i<=9; i=i+1 ))
do
for (( j=1; j<=i; j=j+1 ))
do
((result=$i*$j))
echo -ne $i\*$j=$result"\t"
done
echo
done
2、求斐波那契数列的前10项及总和
#!/bin/bash
num[0]=0
num[1]=1
for (( i=2; i<10; i=i+1 ))
do
num1=${num[i-1]}
num2=${num[i-2]}
num[i]=$(($num1+$num2)) done
# 打印所有元素
echo ${num[*]}
sum=0
for (( i=0; i<10; i=i+1 ))
do
sum=$(($sum+${num[i]}))
done
echo $sum
3、编写一个脚本程序备份给定目录下面的所有文件,由第一个参数指出文件所在的目录
#!/bin/bash
read -p "请输入您要备份的目录的绝对路径" beifenDir
read -p "请输入您要备份到那个目录下" destinationDir
# 强制递归复制
cp -rf $beifenDir $destinationDir
4、设计一个程序cuts.sh,它由标准输入读取数据,获取由第一个参数n和第二个参数m所限定范围的数据,n和m都是整数,即从输入的字符串中抽取第n个字符至第m个字符之间的所有字符(包括这两个字符)例如:
$./cuts.sh 11 14
thisis a test of cuts program
#(输入)
test
#(显示结果)
#!/bin/bash
read -p "请输入一个字符串" str
# -c代表截取字符串中的一段
echo $str | cut -c $1-$2
5、编写Shell 程序 计算1—100 之间所有奇数之和
#!/bin/bash
i=1
max=100
sum=0
while [ $i -le $max ]
do
if [ $(($i%2)) -eq 1 ];then
sum=$(($sum+$i))
fi i=$(($i+1)) done
echo $sum
6、利用数组形成存放10个城市的名字,然后利用for循环把他们打印出来
#!/bin/bash
var[10]="nanchang yichun haha djdj ksks hshs shq hsv has haz"
for (( i=1; i<=10; i=i+1 ))
do
echo "${var[$i]}"
done
shell脚本练习题的更多相关文章
- shell脚本练习题(更新中...)
练习题(这里贴的是自己写的代码, 网上给的题目代码我会附加在最下面) 1. 编写shell脚本,计算1-100的和: #!/bin/bash #caculate the to `; do sum=$[ ...
- shell脚本练习题->1
猜随机数的大小 描述: 写一个猜数字脚本,当用户输入的数字和预设数字(随机生成一个0-100的数字)一样时,直接退出,否则让用户一直输入:并且提示用户输入的数字比预设数字大或者小 分析: 1:随机数字 ...
- linux 的基本操作(编写shell 脚本)
终于到shell 脚本这章了,在以前笔者卖了好多关子说shell脚本怎么怎么重要,确实shell脚本在linux系统管理员的运维工作中非常非常重要.下面笔者就带你正式进入shell脚本的世界吧. 到现 ...
- shell脚本结构
echo $? 代表上一次命令的状态返回值,‘0’则代表为真<执行成功>,‘非零’则代表为假<执行失败>. shell脚本: <判断老男孩的年纪> [root@bo ...
- centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 第三十六节课
centos shell脚本编程2 if 判断 case判断 shell脚本中的循环 for while shell中的函数 break continue test 命令 ...
- 第三部分shell编程3(shell脚本2)
7. if 判断一些特殊用法 if [ -z $a ] 这个表示当变量a的值为空时会怎么样if grep -q '123' 1.txt; then 表示如果1.txt中含有'123'的行时会怎么样if ...
- shell基础练习题
shell 基础练习题 1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 #!/bin ...
- Shell循环练习题
Shell循环练习题 目录 Shell循环练习题 1.计算从1到100所有整数的和 2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和 3.求从1到100所有整数的偶数和.奇数和 ...
- Shell条件练习题
Shell条件练习题 目录 Shell条件练习题 1.检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限 2.提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的 ...
随机推荐
- 一张图理解RACSignal的Subscription过程
通过下面一张图理解RACSignal的调用过程: 创建signale RACSignal通过子类[RACDynamicSignal createSignal:]方法获得Signal,并将disSubs ...
- 【Eclipse】web项目部署新手篇
本文属于新手篇章,记录了Eclipse中部署web项目的步骤 1 . 添加Tomcat服务器 右键项目属性-->Run as-->Run on server弹出以下界面 点击finish之 ...
- maven 常用脚本
Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1. 创建Maven的普通 ...
- Google addword 策略
https://support.google.com/adwords/answer/1704392?hl=zh-Hans&authuser=0 顾客会用自己的思路去解决生意上的问题,想要拥有自 ...
- Protobuf学习 - 入门
古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 -- 苏轼·<晁错论> 从公司的项目源码中看到了这个东西,觉得挺好用的,写篇博客做下小总结.下面的操作以C++为编程语言,protoc的版 ...
- Hibernate双向关联的增删改操作的属性
双向关联关系下的增删改操作的属性 1.cascade属性: eg:<set name = "emps" cascade="s ...
- sqlserver的一些小知识点
1.高效分页sql和储存过程 select top 每页条数 * from ( select ROW_NUMBER() over (order by id)as nid ,* from table01 ...
- 1588: [HNOI2002]营业额统计
1588: [HNOI2002]营业额统计 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 9203 Solved: 3097[Submit][Stat ...
- 1050: [HAOI2006]旅行comf
1050: [HAOI2006]旅行comf Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1495 Solved: 737[Submit][Sta ...
- RecyclerView 设置item间隔的方法
RecyclerView大家常用,但是如何给加载出来的item增加间隔很多人都不知道,下面是方法,直接上代码了: LinearLayoutManager layoutManager = new Lin ...