Linux任务二

更新时间:2023-10-16 07:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

任务二:

1.编写一个 Shell 程序,实现如下功能:

(1). 当运行一个程序的时候,这个程序会让使用者选择 Y 或 N ; (2)如果使用者输入 Y 或 y 时,就显示『 OK, continue 』 (3)如果使用者输入 n 或 N 时,就显示『 Oh, interrupt !』

(4)如果不是 Y/y/N/n 之内的其他字节,就显示『 I don't know what your choice is 』(利用中括号、 && 与 || 来实现)

#!/bin/bash

echo \请输入 'y/Y' 或 'n/N'\echo \输入 'Q' 将退出!!!\read yn

until [ $yn = Q ]; do

if [ $yn = y ] || [ $yn = Y ]; then

echo \ read yn

else if [ $yn = n ] || [ $yn = N ]; then

echo \!\ read yn else

echo \ read yn fi fi done

2.使用者输入一个文档名,做出以下判断:

(1). 在当前目录下这个文件是否存在,若不存在则给予一个“Filename does not exist”的信息,并中断程序;

(2). 若这个文件存在,则判断他是个文件或目录,结果输出“Filename is regular file”或“Filename is directory”;

(3). 判断一下,运行者的身份对这个文件或目录所拥有的权限,并输出权限数据!(注意利用 test 与 && 还有 || 等标志!)

# 1. 让使用者输入档名,并且判断使用者是否真的有输入字串?

echo -e \\\n\\n\

read -p \

test -z $filename && echo \# 2. 判断文件是否存在?若不存在则显示信息并结束脚本

test ! -e $filename && echo \# 3. 开始判断文件类型与属性

test -f $filename && filetype=\test -d $filename && filetype=\test -r $filename && perm=\test -w $filename && perm=\$perm writable\test -x $filename && perm=\$perm executable\# 4. 开始输出资讯!

echo \$filetype\echo \$perm\3.撰写一支程序,他的作用是:

1.) 先查看一下 /root/test/logical 这个名称是否存在;

2.) 若不存在,则创建一个文件,使用 touch 来创建,创建完成后离开;

3.) 如果存在的话,判断该名称是否为文件,若为文件则将之删除后创建一个目录,档名为 logical ,之后离开;

4.) 如果存在的话,而且该名称为目录,则移除此目录! #!/bin/bash

if [ ! -e logical ]; then touch logical

echo \Just make a file logical\exit 1

elif [ -e logical ] && [ -f logical ]; then rm logical

mkdir logical

echo \remove file ==> logical\echo \and make directory logical\exit 1

elif [ -e logical ] && [ -d logical ]; then rm -rf logical

echo \remove directory ==> logical\exit 1 else

echo \ fi

4. 编写shell程序文件sha,存放在/root目录下,程序功能要求如下: (1)清屏

(2)当程序运行时,屏幕显示如下形式的信息: ************* * This is a shell program…* *************

(3)如果sha运行时未带参数,则在屏幕上显示信息“ERROR1”;如果sha运行时只带一个参数,则在屏幕上显示信息“ERROR2”;如果带两个不同的参数且参数1所指定的文件存在,则将参数1所指定的文件复制到/root目录中,并改名为参数2所指定的文件名。 clear

echo '***********************' echo '* This is a shell program... *' echo '***********************' if test -z $1; then

echo 'ERROR1'; else

if test -z $2; then

echo 'ERROR2'; else

if test $1 != $2; then

if test -e $1; then

cp $1 /root/$2; fi; fi; fi;

fi

第二步:执行chmod +x sha。 第三步:touch abc1

第四步:./sha abc1 abc2 第五步:cp sha /root

5. 编写shell程序文件shb,存放在/root目录下,程序功能要求如下: (1)清屏

(2)当程序运行时,屏幕显示如下形式的信息: *********** * Good Afternoon… * *********** (3)检查/root目录下,是否存在由参数1指定的文件,若不存在,则屏幕显示信息“File not found!”;若存在,则将参数1指定的文件改名为由参数2指定的文件名,然后用for命令对改名后的文件显示长格式的目录信息和文件内容。 第一步:创建shb脚本文件,文件内容如下: clear

echo '******************' echo '* Good Afternoon... *' echo '******************' if test $1 != $2; then

if test -e $1; then

mv $1 $2

for cn in \ do

$cn $2 echo \ done; else

echo \ fi; fi

第二步:执行chmod +x shb。 第三步:cp shb /root

第四步:cat >abc1 然后随便键入一些内容 第五步:./shb abc1 abc2

6. 编写shell程序文件shc,存放在/root目录下,程序功能要求如下: (1)清屏

(2)当程序运行时,屏幕显示如下形式的信息: ********* * Good Evening…* *********

(3)检查/root目录下,是否存在文件file1,若不存在,则屏幕显示信息“File1 not

found!”;否则检查在/root目录中,文件file2是否存,若不存在,则显示信息“file2 not found”,若两个文件均存在,则合并排序这二个文件,结果保存在文件名为file3的文件中,且将文件保存到/root目录下。

第一步:创建shc脚本文件,文件内容如下: clear

echo '********************' echo '* Good Evening ... *' echo '********************' if test -e $1; then

if test -e $2; then

cat $1 $2 | sort>/root/$3 else

echo \ fi else

echo \fi

第二步:执行chmod +x shc。 第三步:cp shc /root

第四步:./shc file1 file2 file3

本文来源:https://www.bwwdw.com/article/28df.html

Top