shell编程(2)

先补下实验(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编程,此次试验碰到的小问题已经写在实验内容中,希望老师能帮助解答。

posted @ 2018-06-03 13:53  Algernon  阅读(98)  评论(1编辑  收藏  举报