要求1: 使用for循环在/root/scripts/practice/q1/oldboy 目录下创建十个文件.名称依次为:
oldboy-1,
oldboy-2,
.....
oldboy-10.
脚本实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#!/bin/bash
#Question1
shopt
-s expand_aliases
alias
ll=
"ls -l"
cd
/root/scripts/practice/q1
#首先判断目录是否存在,不存在则创建目录
if
[ ! -e oldboy ]
then
/bin/mkdir
oldboy
else
echo
""
fi
path=
/root/scripts/practice/q1/oldboy
cd
$path
for
((i=1;i<=10;i++))
do
/bin/touch
oldboy-$i
done
ll $path
|
脚本执行效果:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#目录不存在时
[root@localhost q1]
# pwd
/root/scripts/practice/q1
[root@localhost q1]
# ll
总计 4
-rw-r--r-- 1 root root 286 06-26 13:48 q1.sh
[root@localhost q1]
#
[root@localhost q1]
# sh q1.sh
总计 0
-rw-r--r-- 1 root root 0 06-26 13:51 oldboy-1
-rw-r--r-- 1 root root 0 06-26 13:51 oldboy-10
-rw-r--r-- 1 root root 0 06-26 13:51 oldboy-2
-rw-r--r-- 1 root root 0 06-26 13:51 oldboy-3
-rw-r--r-- 1 root root 0 06-26 13:51 oldboy-4
-rw-r--r-- 1 root root 0 06-26 13:51 oldboy-5
-rw-r--r-- 1 root root 0 06-26 13:51 oldboy-6
-rw-r--r-- 1 root root 0 06-26 13:51 oldboy-7
-rw-r--r-- 1 root root 0 06-26 13:51 oldboy-8
-rw-r--r-- 1 root root 0 06-26 13:51 oldboy-9
#目录存在时
#清空oldboy目录,但不删除该目录,模拟目录存在
[root@localhost q1]
# rm -rf oldboy/*
[root@localhost q1]
# ls
oldboy q1.sh
[root@localhost q1]
# ll oldboy/
总计 0
[root@localhost q1]
# sh q1.sh
总计 0
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-1
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-10
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-2
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-3
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-4
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-5
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-6
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-7
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-8
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-9
[root@localhost q1]
# ll oldboy/
总计 0
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-1
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-10
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-2
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-3
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-4
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-5
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-6
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-7
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-8
-rw-r--r-- 1 root root 0 06-26 13:53 oldboy-9
|
脚本可以正常完成文件创建任务.
要求2: 将上诉创建的所有oldboy-文件,使用for循环批量修改为Linux-.
脚本实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#!/bin/bash
#Question2
shopt
-s expand_aliases
alias
ll=
'ls -l'
path=
/root/scripts/practice/q1/oldboy
cd
$path
for
((i=1;i<=10;i++))
do
/bin/mv
oldboy-$i Linux-$i
done
ll $path
|
执行效果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[root@localhost q1]
# sh q2.sh
总计 0
-rw-r--r-- 1 root root 0 06-26 13:53 Linux-1
-rw-r--r-- 1 root root 0 06-26 13:53 Linux-10
-rw-r--r-- 1 root root 0 06-26 13:53 Linux-2
-rw-r--r-- 1 root root 0 06-26 13:53 Linux-3
-rw-r--r-- 1 root root 0 06-26 13:53 Linux-4
-rw-r--r-- 1 root root 0 06-26 13:53 Linux-5
-rw-r--r-- 1 root root 0 06-26 13:53 Linux-6
-rw-r--r-- 1 root root 0 06-26 13:53 Linux-7
-rw-r--r-- 1 root root 0 06-26 13:53 Linux-8
-rw-r--r-- 1 root root 0 06-26 13:53 Linux-9
[root@localhost q1]
# ls oldboy/
Linux-1 Linux-2 Linux-4 Linux-6 Linux-8
Linux-10 Linux-3 Linux-5 Linux-7 Linux-9
[root@localhost q1]
#
|
已经成功完成重命名.
本文转自 marbury 51CTO博客,原文链接:http://blog.51cto.com/magic3/1431155