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"
linux 下shell 编写脚本的更多相关文章
- Linux下shell通用脚本启动jar(微服务)
Linux下shell通用脚本启动jar(微服务) vim app_jar.sh #!/bin/bash #source /etc/profile # Auth:Liucx # Please chan ...
- linux下shell编写九九乘法表
主要语法:类似 1x2 echo $((1*2)) for 变量 in 值1 值2 值3 ;do linux命令或者语句done
- Linux shell编写脚本部署pxe网络装机
Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机 https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...
- Linux 下shell 编程学习脚手架
linux body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-t ...
- Linux 下Shell的学习
1.Shell学习 1.什么是Shell shell是一个命令解析器,在操作系统的最外层,负责和用户对话,将用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果.2.什么是shell脚本 ...
- Linux下定时执行脚本(转自Decode360)
文章来自:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html Decode360's Blog 老师(业精于勤而荒于嬉 ...
- [转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法
[From] https://www.zmrbk.com/post-2030.html https://blog.csdn.net/suifengshiyu/article/details/40952 ...
- 实用脚本 2 -- Linux下定时执行脚本
今天学习Linux下定时执行脚本,看到一篇讲解比较好的文章,特此拿来分享. 原文链接:http://www.blogjava.net/decode360/archive/2009/09/18/2877 ...
- Linux下kill进程脚本
Linux下kill进程脚本 在Linux有时会遇到需要kill同一个程序的进程,然而这个程序有多个进程,一一列举很是繁琐,使用按名字检索,统一kill Perl脚本 使用方法 kill_all.pl ...
随机推荐
- Oracle 修改 提交后 回退
1. -- 查询你执行update 语句之前的数据 精确到什么时间 select * from 表名 as of timestamp to_timestamp('2017-07-21 17:16:38 ...
- git 创建分支并提交代码
1.查看所有分支 git branch -a 2.查看当前分支 git branch 3.新建一个分支 git branch feature-xx 4.切换到新建分支上面 git checkout f ...
- Windows系统查看端口被那些进程使用
Windows系统查看端口被那些进程使用注:当前Windows为虚拟机环境1. 打开命令提示符:开始-运行-cmd2. 列出使用端口的PID: netstat -abno -a 显示所有连接和侦听端口 ...
- openCV 3.4 windows下的配置说明
链接: https://pan.baidu.com/s/1dkS_G8ZSBD8EnhYeEFZxhQ 密码: xu99 (从官网下的, 但360会提示有毒, 哈哈哈) 运行exe, 解压openCV ...
- python实现进程的三种方式及其区别
在python中有三种方式用于实现进程 多进程中, 每个进程中所有数据( 包括全局变量) 都各有拥有⼀份, 互不影响 1.fork()方法 ret = os.fork() if ret == 0: # ...
- 7.4 Varnish VCL的子程序
- Golang的标准命令简述
Golang的标准命令简述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Go本身包含了大量用于处理Go程序的命令和工具.go命令就是其中最常见的一个,它有许多子命令,接下来就跟随 ...
- POJ 3061:Subsequence 查找连续的几个数,使得这几个数的和大于给定的S
Subsequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10172 Accepted: 4160 Desc ...
- SpringMVC核心
DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,与spring IoC容器无缝集成. 主要用作职责调度工作,本身主要用于 ...
- 活动目录对象属性批量修改工具------ADModify
最近下载了一个可以修改活动目录用户.组.联系人等活动目录对象属性的工具,试用了一下,发现还是蛮好用的,并且还可以修改对象的扩展属性,如:在活动目录中安装了Exchange 2003,Exchange ...