Linux上机练习题shell程序设计基础练习题

政林 2020-05-26 1335浏览 0条评论
首页/正文
分享到: / / / /

Linux上机练习题shell程序设计基础练习题

  1. 用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev目录下。a

#!/bin/bash

 

 directory=/dev

  for file in /bin/a2p

do

if [ -f $file ]

then

cp $file $directory/$file.bak

Fi

 done

 

 

 

 

  1. 编写一个 shell 脚本,完成功能:  1)显示文字“Waiting for a while….”  2)长格式显示当前目录下面的文件和目录,并输出重 定向到/home/file.txt 文件  3)定义一个变量,名为 s,初始值“Hello”  4)使该变量输出重定向到/home/string.txt 文件 m

#!/bin/bash

 echo "waiting  for  a  while…  "

 

ls -l.>/home/file.txt

s=hello

echo  $s  >  /home/string.txt

 

 

  1. 编写一个 shell 脚本,它把第二个位置参数及其以后的 各个参数指定的文件复制到第一个位置参数指定的目录 中。b

 

 

#!/bin/bash

dir=$1

shift

while [$1]

do

file=$1

cp $1 $dir

shift

done

 

 ls $dir

 

 

  1. 编写一个 shell 脚本,利用 for 循环将当前目录下的.c 文件移动到指定的目录,并按文件大小显示出移动后指定 的目录的内容。d

 

#!/bin/bash
for file in *.c
{
mv /$file/bin/a
}

 ls -lS /bin/a

 

  1. 利用数组形式存放 10 个城市的名字,然后利用 for 循 环把它们打印出来。c

#!/bin/bash

city=(jinan,qingdao,rizhao,weifang,beijing,shanghai,shenzhen,guangzhou,chongqing,nanjing)

for i in ${name[*]}

do

echo $i

done

 

 

  1. 设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。 f

!/bin/bash

groupadd class1

for ((i=1;i<=30;i++))

do

if [ $i -lt 10 ];then

username="std0"$i

else

username="std"$i

fi

useradd -G class1 $username

done

 

 

 

  1. 编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。

 

#!/bin/bash

i=1

while [$i-lt10];do

if [$i-ne10];then

uesrdel stud0${i}

else

usedel stud${i}

fi

i='expr $i+1'

done

 

 

  1. 请写出下列程序在命令行执行#./task3  100  Fran  USA  Eng  China

运行后的结果(程序名为task3)。

#!/bin/bash

echo “received $# params.”

echo “program is:$0”                

echo “Arg1 is:$1”                       

shift                                   

shift                                   

echo “Arg2 is:$1”                      

echo “Arg3 is:$3”

 

 

  1. 设计一个菜单驱动程序。如下:

Use one of the following options:

P:  To display current directory

S:  To display the name of running file

D:  To display today’s date and present time

L:  To see the listing of files in your present working directory

W:  To see who is logged in

Q:  To quit this program

Enter your option and hit :

菜单程序将根据用户输入的选择项给出相应信息。要求对用户的输入忽略大小写,对于无效选项的输入给出相应提示。要求使用case语句实现以上功能,输入响应的字母后应该执行响应的命令完成每项功能,如输入P,就执行pwd命令。

#! /bin/sh

# mymenu.sh

echo "use one of the following options:"

echo "D:To display today's date and present time"

echo "L:To see the listing of files in youy present working directory"

echo "W:To see who is logged in"

echo "Q:To quit the program"

  read option

case "$option" in

  D) date;;

  L) ls;;

  W) who;;

  Q) exit 0;;

  *) echo "invalid option:try running the program again"

    exit 1;;

esac

exit 0

~

点击这里给我发
消息
最后修改:2020-05-26 22:46:48 © 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

上一篇

发表评论

评论列表

还没有人评论哦~赶快抢占沙发吧~