先补下实验(3)最后两个shell编程内容(上次对vim运用还不太熟悉,故未完成)
(1)
(2)
shell第二个练习没有完成,有两个问题:
1.添加不了中文输入,打上sudo apt-get install -f也解决不了,希望老师能帮助一下
2.如何将windows文件拖入Ubuntu
这里已经将共享粘贴板和拖放设置为双向,扔不能拖入,希望老师帮助一下
下面是本次实验:
四、实验结论
1.shell变量基本用法及常用符号使用
(1)
(2)
(3)
①${likes[*]}:表示数组中所有元素
②${likes[@]}:同上
③${#likes[*]}:返回数组中已经设置的元素的个数
④${#likes[@]}:同上
⑤${#likes}:返回数组中第一个元素值的长度
⑥${#likes[0]}: 同上
(4)
①${name:-hello}:如果name值为空,则输出给定字符串,如果不为空,则为原来的值
(5)
①${name%%.*}:末尾匹配,去掉与pattern匹配最多的部分
②${name%.*}:末尾匹配,去掉与pattern匹配最少的部分
(6)
①${name#*/}:开头匹配,去掉与pattern匹配最少的部分
②${name##*/}:开头匹配,去掉与pattern匹配最多的部分
(7)
2.shell脚本分析
(1)
①功能是将参数倒序输出
②第8行功能:表示将第count个参数赋值到cmd
第9行功能:表示count参数减1
第11行功能:运行cmd中命令
③第一条运行0次,第二条运行2次,第三条运行3次
④cmd值为$3
(2)
①判断用户名是否存在当前系统中
②将参数$1重定向到Limitstring中,并发送hello
(3)
①
②该脚本功能是将当前文件夹下的所有.sh格式的文件都复制一份,加上后缀.BACKUP-当前时间
(4)
. ex4.sh:
. ex4.sh /etc/apt/sources.list(部分)
. ex4.sh /etc/apt/sources.list ex4.sh(部分)
①line4-10中函数NL的功能是将用户输入的值保存在变量x中,然后输出行号和x的值
②执行NL函数
③line17-line21的功能是将参数读入函数NL中,shift 命令将参数左移一位,最左边的参数丢弃
3.shell脚本编写
(1)
(2)
(3)
(4)
(5)
五、总结与体会
这次实验主要是shell脚本编写的练习,自己对于shell脚本的编写还是有所欠缺,很多内容需要查书和上网查阅资料,碰到很多小问题,在老师规定的两小时内并不能完成此份实验报告,希望能在接下来的两节课抓住机会练习,在平时也要多多练习shell编程,此次试验碰到的小问题已经写在实验内容中,希望老师能帮助解答。