本人新人小白,正在学习shell编程,如果文章中有错误的地方,欢迎大家指正,谢谢大家
1、 下列哪些是合法变量名
XxXxXx _ 12345 HOMEDIR file.name _date file_name x0-9 file1 slimit
变量命名规则:变量名以字母或下划线字符开始,后面跟0或若干个字母、数字或下划线字符,所以12345、file.name、x0-9不是合法的变量名。
2、 假定宿主目录是users/steve,子目录结构如下图所示

假设刚登录系统,执行了下列命令
docs=doc
let=$doc/letters
prop=$doc/proposals
写出用这些变量完成下列工作的命令
a、 列出doc目录的内容:ls $docs
b、 把letters目录中的所有文件复制到proposals中:cp -r $let/. $prop
c、 把letters目录中文件名包含一个大写字母的文件复制到当前目录中cp $(find $let -name "*[A-Z]*") ./
d、 计数memos目录中的文件数:wc -l $docs/memos
下列命令的作用是什么
a、 ls $let/.. :列出doc目录的内容(…表示上一级目录)
b、 cat $prop/sys.A>>$let/ no.Jsk:显示doc/proposals目录下sys.A文件的内容,并将输出的信息追加到doc/letters目录下no.Jsk文件中。
c、 echo $let/*:显示doc/letters目录下所有文件
d、 cp $let/no.JSK $progs:若progs内存了一个目录,则把letters目录中的no.JSK文件复制到该目录中,若progs内存了一个文件名,则把letters目录中的no.JSK文件复制到该文件中,原文件内容被覆盖,若progs是空值,则命令出错
e、 cd $prop:进入doc/proposals目录
3、 编写一个名为nf的程序,显示当前目录中的文件数,键入程序并测试
ls vi| wc -l
4、 编写一个名为whos的程序,显示排好序的已登录用户清单,只显示用户名,不要有其他信息。键入程序并测试
who | cut –c1-8 | sort
本文为Shell编程初学者提供指导,解析变量命名规则,演示如何使用变量进行目录操作,包括文件复制、计数等,同时分享了两个实用脚本:统计当前目录文件数及展示已登录用户清单。

被折叠的 条评论
为什么被折叠?



