shell编程题(十九)

题目:

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

答案:

#!/bin/bash

mkdir ./userdata

if [ $? -eq 0 ]; then
    i=1
    while [ $i -le 50 ]; do
        mkdir -p ./userdata/user$i
        chmod 754 ./userdata/user$i
        let i++
    done
else
    echo "end"
    exit 1
fi

exit 0

原文地址:https://www.cnblogs.com/wanghao-boke/p/12158715.html

时间: 2024-09-30 03:31:53

shell编程题(十九)的相关文章

shell编程题(九)

文本分析,取出/etc/password中shell出现的次数 答案1: cat /etc/passwd | awk -F: '{if ($7!="") print $7}' | sort | uniq -c /etc/passwd 中的数据是以:隔开的 sort是将文件中的每一行作为一个单位,互相比较. 比较的原则是从首字母向后,依次按照ASCII码值进行比较,最后将它们按照升序输出. 参数: -u 去除重复行 -r 降序输出 -o 输入到原文件 (重定向只能输入到新文件) -n 按

嵌入式考试Shell编程题

单片机与嵌入式系统考试Shell编程题库,简单地做了下. 9. 与题7类似,多了个乘法运算. #!/bin/bash # test1.sh # 2016.1.2 echo "Please input N student grade:" read -a grade for ((i=0;i<${#grade[@]};i++)) do if [[ ${grade[i]} -ge 90 ]] then grade[i]=5 elif [[ ${grade[i]} -ge 80 ]] th

shell编程(十二)--- 添加用户示例

[[email protected] Learn]# cat useradd-final.sh  #!/bin/bash # DEBUG=0 ADD=0 DEL=0 help() { echo "Usage: $(basename $0) -v | --verbose | --add user1,user2,... | --del user1,user2,... | -h | --help" } while [ $# -ne 0 ] do case $1 in -h | --help 

shell编程(十四)--- until循环

until循环语法格式: until CONDITION do     statement done 说明: until进入循环的条件是:condition不成立时,就执行循环. until进入循环的条件正好和while相反,while进入循环的条件是:condition成立时,就进入循环. 示例1:while循环 [[email protected] Learn]# cat while.sh  #!/bin/bash declare -i sum=0 declare -i i=0 while 

shell编程(十五)--- while特殊用法和函数

break:退出循环体 continue:结束本次循环,进入下一次循环. while特殊用法1: while : do done 上述为while的死循环. while特殊用法2: while read LINE do done < /path/to/FILE 作用:通过while读取FILE文件中的每一行,并将其保存在变量LINE中. 函数:function 语法格式: 方法1: function FUNCTIONNAME {     COMMAND } 方法2: FUNCTIONNAME()

shell编程题(二十九)

题目: 用tcpdump嗅探80端口的访问 答案: sudo tcpdump -i ens33 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | head -n20 解析: tcpdump -i interface:指定tcpdump需要监听的接口.默认会抓取第一个网络接口 -n:对地址以

shell编程题(十)

有两个文件如下所示: employee.txt  100 Jason Smith 200 John Doe 300 Sanjay Gupta 400 Ashok Sharma bonus.txt 100 $5,000 200 $500 300 $3,000 400 $1,250 employee.txt记录的是工号和姓名,bonus记录的是工号和工资 将以上两个文件合并并输入为以下格式: 400 ashok sharma $1,250 100 jason smith  $5,000 200 jo

shell编程题(十五)

题目: 文件移动拷贝,有m1.txt m2.txt m3.txt m4.txt,分别创建出对应的目录,m1 m2 m3 m4 并把文件移动到对应的目录下. 答案: #!/bin/bash touch m1.txt m2.txt m3.txt m4.txt I=1 while [ $I -le 4 ]; do mkdir m$I mv m$I.txt m$I I=$((I+1)) done 原文地址:https://www.cnblogs.com/wanghao-boke/p/12149042.h

shell编程题(二十八)

题目: 查找请求数前20个IP(常用于查找攻来源) 答案: #! /bin/bash echo "The numbers of IP address" echo "the first way:" netstat -anlp | grep 80 | grep tcp | awk '{print $5}' | awk -F: '{print $1}' | uniq -c | sort -nr | head -n20 echo "the second way:&