脚本练习题(持续更新中……)
(2015-04-14 22:51:40)
标签:
股票 |
分类: ubuntu |
最近网上找了点脚本练习题,希望各位对各位练习shell的朋友能有所帮助。
(一)
写一个脚本:
1、创建目录/tmp/scripts
2、切换工作目录至此目录中
3、复制/etc/pam.d目录至当前目录,并重命令为test
4、将当前目录中的test及其里面的文件和子目录的属主改为redhat
5、将test及其子目录中的文件的其它用户的权限改为没有任何权限
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#!/bin/bash # i=` grep -o 'root' /etc/passwd | cut -d: head -n1` [ /tmp/scripts ] mkdir /tmp/scripts if cp -rf /etc/pam .d /tmp/scripts ; then cd /tmp/scripts/ mv pam.d/ test / if [ then chown -R test / else useradd redhat chown -R test / chmod -R test / fi fi |
写一个脚本:
1、显示当前系统日期和时间,而后创建目录/tmp/lstest
2、切换工作目录至/tmp/lstest
3、创建目录a1d, b56e, 6test
4、创建空文件xy, x2y, 732
5、列出当前目录下以a、x或者6开头的文件或目录;
6、列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录;
1
2
3
4
5
6
7
8
9
|
#!/bin/bash # date mkdir /tmp/lstest cd /tmp/lstest mkdir ald touch xy echo "`ls echo "`ls |
写一个脚本,完成以下功能:
1、传递两个整数给脚本,让脚本分别计算并显示这两个整数的和、差、积、商
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#!/bin/bash # read -p "parameter1: a1 read -p "parameter2: a2 cat << he) cha) ji) shang) EOF read -p " s1 case $s1 in he) echo "$((a1+a2))" ;; cha) echo "$((a1-a2))" ;; ji) echo "$((a1*a2))" ;; shang) echo "$((a1/a2))" ;; esac |
写一个脚本:
1、切换工作目录至/var
2、依次向/var目录中的每个文件或子目录问好,形如:
3、统计/var目录下共有多个文件,并显示出来
1
2
3
4
5
6
7
8
|
#!/bin/bash # cd /var for i in ` ls -R /var ` do echo "for done ls -R /var | wc -l |
写一个脚本:
1、设定变量FILE的值为/etc/passwd
2、使用循环读取文件/etc/passwd的第2,4,6,10,13,15行,并显示其内容
3、把这些行保存至/tmp/mypasswd文件中
1
2
3
4
5
6
7
|
#!/bin/bash # FILE= /etc/passwd for i in 2 do head -$i tail -1 /tmp/mypasswd done |
写一个脚本:
1、设定变量FILE的值为/etc/passwd
2、依次向/etc/passwd中的每个用户问好
3、统计一共有多少个用户
1
2
3
4
5
6
7
8
|
#!/bin/bash # FILE=` cat /etc/passwd | cut -d: for i in $FILE do echo "Hello: done echo "`cat |
写一个脚本:
1、设定变量FILE的值为/etc/passwd
2、依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么,
3、统计一共有多少个用户
1
2
3
4
5
6
7
8
9
10
11
12
|
#!/bin/bash # FILE= /etc/passwd let LINE=0 LINE=` wc -l /etc/passwd | cut -d " -f1` for i in ` seq 1 do USERNAME=` head -$i tail -1 cut -d: UUID=` head -$i tail -1 cut -d: echo "Hello, done echo "users |
写一个脚本:
1、添加10个用户user1到user10,但要求只有用户不存在的情况下才能添加;
1
2
3
4
5
6
|
#!/bin/bash # for (( do grep "user$i" /etc/passwd &> /dev/null || useradd user$i /dev/null done |
1
2
3
4
5
6
7
8
9
10
11
|
#!/bin/bash # for i in {1..10} do id user$i /dev/null if [ eq 0 then echo "user$i else useradd user$i /dev/null fi done |
写一个脚本:
1、通过ping命令测试192.168.0.151到192.168.0.254之间的所有主机是否在线,
1
2
3
4
5
6
7
|
#!/bin/bash # j=10.15.201. for (( do ping -c /dev/null && echo "$j$i || echo "$j$i done |
本文出自 “阿俊博客” 博客,请务必保留此出处http://ssc4469.blog.51cto.com/6315913/1606602