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"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异