- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux上机练习十
上机练习十
完成下列的脚本练习。
1、请编写一个脚本,其功能是将当前用户的根目录下的work目录打包为名为“user’s-workdir-in-YYMMDD”的tar包
要求:i)若该目录不存在,显示“dir not exist”
ii)若该文件不是目录类型,显示“work is a type”,此处的type为文件类型
#!/bin/bash
[ -e /work ] tar -cvf Users-workdir-in-YYMMDD.tar /work || echo dir not exist
declare filetype=
[ -f /work ] filetype=常规文件
[ -d /work ] filetype=目录文件
[ -b /work ] filetype=块设备文件
[ -c /work ] filetype=字符设备
[ -S /work ] filetype=套接字文件
[ -p /work ] filetype=FIFO(管道)文件
[ -L /work ] filetype=连接文件
[ $filetype != ] echo work is a $filetype
2、编写一个脚本,其中包含一个打印函数,用于将多次输入的字符组合为一个字符串
要求:i)使用函数实现新值的输出
ii)使用循环语句完成多个字符的输入,直到输入字符串EOF才完成字符串的累加
#!/bin/bash
function add()
{
str=$str$input
echo $str
}
read -p 请输入一个字符串或者输入EOF结束本次操作: input
declare str
while [ $input != EOF ]
do
add
read -p 请输入一个字符串或者输入EOF结束本次操作 input
done
3、自我练习:设计一个运算器,用来完成下列功能
i)四则运算:符号使用+、-、*、/
ii)逻辑位运算:符号使用、|、~
iii)乘方运算:0次、1次、2次、3次、4次、5次幂,幂级和底数均由用户给出
#!/bin/bash
read -p “选择一种运算(输入数字):1.四则运算2.逻辑位运算3.幂运算:” n
if [ “$n” == “1” ];
then
read -p 请输入第一个数: n1
read -p 请输入一个操作运算符(+、-、*、/): fuhao
read -p 请输入第二个数: n2
declare -i y
let “y=$n1$fuhao$n2”
echo “$n1$fuhao$n2=$y”
fi
elif [ “$n” == “2” ];
then
read -p 请输入位运算第一个数: w1
read -p 请输入一个操作运算符(,|,~): fuhao2
read -p 请输入位运算第二个数: w2
declare yy
if [ $fuhao2 == ];then
let “yy=$w1$w2”
echo $w1$fuhao2$w2=$yy
elif [ $fuhao2 == | ];then
let “yy=$w1|$w2”
echo $w1$fuhao2$w2=$yy
elif [ $fuhao == ~ ];then
let “yy=$w1~$w2”
echo $w1$fuhao2$w2=$yy
else
echo 您的运算符输入错误
fi
elif [ “$n” == “3” ];
then
read -p 请输入幂级: m1
read -p 请输入幂底数: m2
declare yyy
let “yyy=$m1**$m2”
echo “ $m2的$m1次幂为$yyy”
fi
4、自我练习:判断两个给定文件的新旧程度
要求:i)用户输入两个文件的名称
ii)分别判断这两个文件是否存在
iii)判断这两个文件的类型是否相同
iv)判断这两个文件的拥有者操作权限是否相同
v)若这两个文件都存在,且类型和操作权限都相等,则将较新的文件复制到目录/tmp中,若两者的时间相同,则不做复制操作
#!/bin/bash
type1=
type2=
right1=
right2=
read -p 请输入第一个文件的路径: f1
if [ ! -e $f1 ];
then
echo $f1不存在,请检查后重试
fi
read -p 请输入第二个文件的路径: f2
if [ ! -e
文档评论(0)