linux 下shell 编写脚本

linux 下shell 编写脚本:
1.程序结构练习:编写一个脚本,给定一个正整数,计算出这个数所有位的数字之和。
例如:程序给定输入123,那么应该返回1+2+3=6。

2.程序结构练习:编写一个脚本,给定一个正整数,反序输出这个这个数。
例如:程序输入123,那么应该输出321.

3.Linux命令+shell编程:编写一个程序,实现定时文件备份的功能。
要求:
1.备份某个目录下的所有文件
2.对备份文件进行压缩
3.生成合理的日志文件

4.Shell下的gui(libnotify-bin)编程
http://blog.mpathirage.com/2009/09/12/using-libnotify-in-ubuntu-9-04/
要求:
实现定时提醒功能,通过命令行参数设置提示时间和提醒内容

5.Shell文本处理功能(sed和awk)
1.打开sname和smark两个文件,查看文件内容。
2.从sname中提取学生姓名(cut),显示如下:
zhangsan
lisi
wangwu
maliu
3.合并两个文件的内容(join),输出如下:
11 zhangsan 56
12 lisi 78
13 wangwu 98
14 maliu 87
4.小写字母转换成大写字母(tr)
5.查看inventory文件,过滤到中间一行,得到第一行和第三行的数据。效果如下:
cacke 10
Pen 12
floppy 5

6.查看teaormilk文件,将每一行中的tea替换成milk。(sed)结果如下:

India’s milk is good.
milk Red-Lable is good.
milk is better than the coffee.
7.查看personame文件,仅输出存在一行的数据(uniq)。结果如下:
Hello I am vivek
12333
welcome
to
sai computer academy a’bad.
what I still remember that name
oaky!how are u ,luser
what still I remember that name
8.查看demo-file文件,要求仅仅输出该行中含有too的行(grep)。结果如下:
cartoons are good
especially toon like tom (cat)
I too
请高手们把程序给我写出来,会几个就写几个,谢谢。

最佳答案 第一题
#!/bin/bash
declare -i a=$1
declare -i sum=0
while [ "$a" -ne "0" ]
do
sum=$sum+$a%10
a=$a/10
done
echo "The result is $sum"
第二题
#!/bin/bash
declare -i a=$1
while [ $a -ne 0 ]

do
echo -n "$(($a%10))"
a=$a/10
done
echo
第三题
脚本命名为backupdaily.sh
在/etc/crontab里加入一行
0 2 * * * root ~/backup/backupdaily.sh
#!/bin/bash
day=`date +%Y%m%d`
tar -czf ~/backup/"$day".tar.gz ~/anydir
echo "$day: tar -czf ~/backup/$day.tar.gz ~/anydir" >> ~/backup/backuplog
第四题
以前没用过,试了下,manpage里就那几个参数
#例如提示“message” 持续三秒钟:
#notify-send "message" -t 3000

第五题
大哥你也不给sname和smark的格式,字段位置我就瞎猜啦
1.#cat sname ;cat smark
2.#cat sname | cut -d ‘ ‘ -f 2
3.#join -1 1 sname -2 1 smark
4.#cat sname smark | tr "[a-z]" "[A-Z]"
5 #cat inventory | cut -d ‘ ‘ -f 1,3
6#cat teaormilk | sed ‘s/tea/milk/g‘
7#cat personame | sort | uniq -u
8#cat demo-file | grep "too"

时间: 10-28

linux 下shell 编写脚本的相关文章

Linux下Shell 备份脚本集合

说到Shell大家都不陌生,Shell是Linux下批处理脚本,类似windows下的Vbs脚本等等,能协助我们完成一些自动化的任务,我们前面也介绍了一些Shell脚本协助我们完成了一些计划任务,当然说计划任务也不对,是通过计划任务来调用shell脚本来完成一些自动化任务.废话不多说了,来点实际的,今天呢,我们主要介绍的是环境还是工作中遇到的问题,通过远程来完成一些还原任务, 1.首先是,我们需要将本地备份目录下的Weaver.proternt文件定时还原覆盖到指定目录下: 将/OAFS/Bkf

linux下shell编写九九乘法表

主要语法:类似    1x2       echo   $((1*2)) for 变量 in 值1 值2 值3 ;do linux命令或者语句done

Linux下shell脚本监控Tomcat的状态并实现自动启动

最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤. 1.编写Shell脚本monitor.sh #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作# author:EagleHao# date:2018-04-08# DEFINE # 获取tomcat进程ID(其中[grep

linux下shell脚本执行方法及exec和source命令

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child

Linux下Shell脚本输出带颜色文字

Linux下Shell脚本输出带颜色文字 文本终端的颜色可以使用"ANSI非常规字符序列"来生成. 举例:    "echo -e \033[44;37;5m BLUE \033[0m" "echo -e \033[44;37;5m BLUE \033[0m BLACK" 需要修改的地方是红色带下划线的部分,其中[***m部分的内容换成下面的数字,后面的内容是自己想要上色的内容. 以上命令设置作用如下:背景色为蓝色,前景色为白色,字体闪烁,输出字

Linux下Shell编程

Linux的shell编程 1.什么是shell? 当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shell(外壳)的程序. shell就是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序.一般的Linux系统都将bash作为默认的shell. 2.几种流行的shell 目前流行的shell有ash.bash.ksh.csh.zsh等,可以用下面的命令来查看she

Linux下shell编程实例

1. 判断一文件是不是块或字符设备文件,如果是将其拷贝到 /dev 目录下 read -p "input a file:" filename if [ -b $filename -o -c $filename ] then cp $filename /dev/ fi 2.编写一个脚本,进行简单的减法运算,要求提示输入变量 #!/bin/bash read -p "input a number:" num1 read -p "input another nu

Linux 下shell显示-bash-4.1$不显示用户名路径的解决方法

Linux CentOS下shell显示-bash-4.1$不显示用户名路径的解决方法 问题描述: CentOS下新增一个用户,登录进去之后shell脚本的信息如下: 而不是我们经常看到的[email protected]的组合,看起来很不舒服. 解决方案: 问题的原因是因为没有配置.bash_profile的问题,可以通过配置这个文件来解决问题. 1.在Terminal输入: vi ~/.bash_profile 2.如果没有.bash_profile可以自己添加.然后往文件中添加如下内容:e

Linux下定时执行脚本(转自Decode360)

文章来自:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html Decode360's Blog  老师(业精于勤而荒于嬉 QQ:150355677 MSN:[email protected]) 菜鸟表示不会写shell脚本,但还是能够看懂的,昨天因为传了太多数据,结果namenode进入了safe mode,然后小伙伴赶紧就暂停了每天早晨4点自动执行的数据合并压缩和传输的脚本,今天我自己准备改,才发现这篇博文. 先说说