Linux第二次实验:shell编程笔记。
来源:互联网 发布:c语言求圆的面积 编辑:程序博客网 时间:2024/05/22 08:28
Linux 第二次实验是 shell 编程。以前没接触过,做实验的时候一点一点摸索,又查书有搜索的。终于勉强做完了。。。我先记录我学到、接触到的。最后再附上完整代码。
用户名是 $LOGNAME 或者 $USER
主机名是 $HOSTNAME
echo "DATE: `date +%m/%d/%Y`"
这样就会输出 DATE:10/31/2012
read varname
之后就可以 $varname 是使用了。
case 语句是:
case $choice inA)B)esac其中 A B 分别为 $choice 可能的值。每个分支的最后一条语句需要以两个分号结束。
创建带有指定权限的文件夹可以这样
mkdir --m=XXX filename或者
mkdir -m XXX filename其中 XXX 就是权限表示。
如果要测试某个文件是否是目录或是否有某个权限,可以用 if 这样
if test -[o] filenamethen somethingfi其中 [o] 是要测试的内容, -d 是目录 -r 是可读 -w 是可写 -x 是可执行
要将某文件内容全部替换为大写,或是某些字符串操作,可用 sed 等工具完成
全替换大写是:
sed 's/[a-z]*/\U&/g' file其中的 & 应该是指向匹配结果本身。因此就是将匹配结果转换成大写
要返回某目录下某个类型的文件数量的话,可以这样:
ls -l
会显示出文件的详细信息,开头的
drwxrwxrwx
-rwxrwxrwx
等就是文件的类型及权限信息。
目录文件以 d 开头,普通文件以 - 开头,符号链接文件以 l 开头
然后就可以这样
res=`ls -l dir | grep "^d" | wc -l`
其中 grep 统计以 d 开头。 wc 计数。-l 参数是统计换行符
最后附上代码,代码很烂,欢迎拍砖指正。
#!/bin/bashwhile truedoecho USER:$LOGNAME "" HOST:$HOSTNAME "DATE:`date +%m/%d/%Y`"echo "——————————————————————————————————————————————————————————"echo "A: 创建子目录并复制文件"echo "B: 文件权限测试"echo "C: 文件字符转换"echo "D: 文件总数统计"echo "E: 文本文件行数统计"echo "Q: 退出系统"echo "——————————————————————————————————————————————————————————"read choicecase $choice inA)mkdir --m=755 $USERecho $getif test -d $USERthencp file1 $USERcp file2 $USERfi;;B)echo "请输入要测试的文件"read testFileres=$testFileif test -r $testFilethenres+=" 可读"elseres+=" 不可读"fiif test -w $testFilethenres+=" 可写"elseres+=" 不可写"fiif test -x $testFilethenres+=" 可执行"elseres+=" 不可执行"fiecho $res;;C)sed 's/[a-z]*/\U&/g' file1echo file1sed 's/[a-z]*/\U&/g' file2echo file2;;D)echo "请输入要测试的目录"read testDirecho $testDirres=`ls -l $testDir |grep "^[dl]" | wc -l`echo $testDir "目录中有 " $res " 个目录文件和符号链接文件";;E)echo "请输入要统计的文件"read testFileres=`wc -l $testFile`echo $testFile "文件有" $res "行";;Q)exit 0;;esacdone
- Linux第二次实验:shell编程笔记。
- shell编程复习 第二次
- linux Shell编程笔记
- Linux Shell 编程笔记
- linux shell 编程笔记
- Linux Shell编程笔记
- Linux Shell编程笔记
- linux shell 编程笔记
- Linux 实验 —— shell 编程
- Linux内核|实验一 Shell编程
- linux第二次笔记
- Linux Shell编程学习笔记
- linux Shell编程学习笔记
- linux shell编程学习笔记
- linux+shell编程 笔记 1
- linux+shell编程 笔记 2
- linux+shell编程 笔记 3
- linux+shell编程 笔记 sed
- sharepoint用户控件问题
- DB2 字段类型 --- SMALLINT (小整型) INTEGER (整型) BIGINT(大整型)
- windows 8 New Microsoft Office
- ThreadLocal理解
- C#调用ADOX创建ACCESS数据文件后关闭连接
- Linux第二次实验:shell编程笔记。
- QListView
- windows Office 界面改进
- Epic Games CEO,《无尽之剑》创始人Tim Sweeney:下一代智能手机和平板电脑的游戏趋势
- mysql 函数
- JAVA中的server和client基本连接
- windows office 界面改进(续)
- Hadoop 2.0 native lib build failed, Hadoop 2.0 本地库编译失败
- Apache MiNa 实现多人聊天室