shell简单的面试题(3)

771阅读 0评论2011-10-03 
分类:

1.设计一个Shell程序,在/userdata目录下建立50个目录,即user1user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。

#!/bin/bash

for n in {1..50}

do

    mkdir -p /userdata/user${n}

    chmod 754 /userdata/user${n}

done

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

#!/bin/bash

if [ -c $1 ]

then

    cp $1 /dev/

else

   echo "not cdev"

fi

3.编写shell程序,实现自动创建、删除50个账号的功能。账号名为stud1stud50

#!/bin/bash

for n in {1..50}

do

    useradd stud$n

done

for n in {1..50}

do

    userdel stud$n  -r

done

4、编写脚本,对输入的两个参数进行大小比较

#!/bin/bash

if [ -z $1 -a -z $2 ]

then

    echo "please input 2 number"

    exit 0

fi

if [ $1 -eq $2 ]; then

    echo "$1=$2"

elif [ $1 -lt $2 ]; then

    echo "$1<$2"

else

    echo "$1>$2"

fi

5、统计当前目录下的文件数目

#!/bin/bash

COUNTER=0

for files in *

do

  if [ -f $files ]; then

      COUNTER=`expr $COUNTER + 1`

  fi

done

echo "filse $COUNTER"

6、将用户输入的数字按照倒序输出

#!/bin/bash

echo -n "input number:"

read n

while [ $n -gt 0 ]

do

    sd=$(($n % 10))

    echo -n $sd

    n=$(($n / 10))

done

上一篇:LINUX内核经典面试题
下一篇:Ubuntu安装配置Mysql (转载)