要求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