1、若下达 # rmdir test 命令来删除某个已存在的目录,但无法成功,请说明可能的原因。
我是新手 大佬勿喷
此目录不为空或目录中有隐含文件,或者目录中被设置了权限。 解决办法:先修改权限,再使用rm -r命令删除
2、 请用shell中的while循环输出1~100的和
#!/bin/bash s=0 i=1 while [ $i -le 100 ] do ((s=s+i)) ((i++)) done echo $s
3、 请用shell中的for循环输出1~100的和。
#!/bin/bash s=0 for ((i=1;i<=100;i++)) do ((s+=i)) done echo $s
4、计算输入的参数1和参数2的两个数的和,并输出到控制台。
#!/bin/bash read num1 read num2 ((sum=num1+num2)) echo $sum
5、假设你是系统管理员,需要增加一个新的用户账号zheng,为新用户设置初始密码,然后创建一个新组test,把用户zheng加入到新建的组test中
useradd zheng passwd zheng 然后输入密码 groupadd test gpasswd -a zheng test
6、 在目录/root/zheng下,新建一个目录back,然后将该目录改名为bak,在bak下建立两个长度为“0”的文件test1和test2,然后把test2复制到其父目录中并改名为file2
cd /root/zheng mkdir back mv back bak cd bak touch test1 test2 cp test2 ../file2
7、 用两种方法运行shell的脚本文件/home/test/test.sh
方式一:sh /home/test/test.sh 方式二:./home/test/test.sh 方式三:bash /home/test/test.sh
8、 编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下
#!/bin/bash
for file in $(ls -s|awk '$5 > 10240 {print $9}')
do
mv $file /tmp
done
ls -la /tmp
9、用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。
要求必须有提示信息:Input file name:
#!/bin/bash filename=echo "Input file name:" read filename if [ -c $filename] then cp $filename /tmp else echo "这不是设备文件" fi
10、 $请用shell中的while循环输出1-100。
#!/bin/bash i=1 while [ $i -le 100 ] do echo $i ((i++)) done
11、请用shell中的for循环输出100-200的和
#!/bin/bash sum=0 for((i=100;i<=200;i++)) do ((sum+=i)) done echo $sum
12.、使用for循环输出当前文件夹下面的所有文件,统计文件数量并打印。
#!/bin/bash num=0 for i in $(ls) do num=$[$num+i] echo "item: $i" done echo "num is: $num"
13、 编写shell程序,实现自动增加30个账号的功能。账号名为stud01至stud30。
注:删除 即把userdel替换成useradd
#!/bin/bash for i in `seq 30` do if [ $i -le 9 ] then userdel -r stud0$i else userdel -r stud$i fi done
14、设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stuxx,其中xx从01到30。
#!/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
15、 创建两个用户账号user1、user2,并设置密码
创建两个用户组group1、group2
把user1加入group1
把user2加入group2
su root useradd user1 useradd user2 passwd user1 passwd user2 groupadd test gpasswd -a user1 test gpasswd -a user2 test
16、编写shell脚本,要求实现如下功能:当执行一个程序的时候,这个程序会让使用者选择boy或者girl;如果使用者输入B或者b时,就显示:He is a boy;如果使用者输入G或者g时,就显示:She is a girl;如果是除了B/b/G/g以外的其他字符,就显示:I don’t know。
#!bin/bash echo "please input your sex: boy or girl " read a case $a in G) echo "She is a girl" ;; g) echo "She is a girl" ;; B) echo " He is a boy" ;; b) echo " He is a boy" ;; *) echo I don't know ;;



