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