shell(1):基础,创建5000个文件夹

日期:2017/10/7

不知不觉,国庆黄金周已经过去7/8了,今天写了一个shell脚本,一边是温习shell的基础语法,也好在之后的工作中掌握一门技能;

上代码:

#!/bin/bash
#!This is a shell script to finish the folders tasks.
rm -rf /home/gec/mmb/1
mkdir /home/gec/mmb/1
cd /home/gec/mmb/1
echo 'The current path is :';pwd
echo '********'
for i in 1 2 3 4 5 6 7 8 9 10
do
    #ls
    echo '++'
    let result=i%2
    if [ $result -eq 0 ]
    then
       mkdir $i
       #echo "mkdir $i finished"
       cd $i
       #echo "cd $i finished"
       a=1000
       while [ $a -gt 0 ]
       do
           echo '--'
           #echo $a
           mkdir $a
           let a--
           #a = $a-1
       done
       echo '1000 filefolders created successfully'
       cd .. #exit
       #echo "exit $i finished"
    else
       mkdir $i
       #echo "mkdir finished"
    fi
done
cd ..
ls -lR|grep "^d"|wc -l

嗯,是的,把上面的代码撸一遍,对于基础的要点便掌握了;

上面涉及的基础指令有:

1.  rm -rf :rm 是删除文件的指令,那为啥我使用它去删除文件夹呢??

                        那是因为rmdir指令只能删除空目录,所以在上面我加入了 参数 rf,强制性向下进入目录,删除其中的文件,然后再删除目录本身;

2.  mkdir:新建文件夹,若是加入的目录参数不存在,则新建路径的文件夹;

3.  cd:进入文件夹,后跟绝对/相对路径;相反,cd .. 是返回上一级文件目录;

4.  echo:输出字符串/数值;

5.  for循环:务必注意它跟其他高级语言(C/Java/Python)的结构化区别,do....done 包含了循环体,可以参考博文:http://www.linuxidc.com/Linux/2012-02/53030.htm;

6.  let:执行数学运算,可以参考博文:http://blog.csdn.net/changerjjlee/article/details/52161191;

7.  if:比较差异,if....then....else....,可以参考博文:http://blog.csdn.net/crazyhacking/article/details/10182563;

8.  while:另一种循环,do....done 包含了循环体,可以参考博文:http://www.cnblogs.com/kangyoung/p/3556186.html;


最后再详细讲解几个:

1.  最后的:ls -lR|grep "^d"|wc -l ,是对目录数量进行的一个计数:



2.  对于虚拟机来说,默认的shell可能不是bash,而是dash,因此会碰上let:not found command的报错,可以切换默认为bash执行,或者bash + xxx.sh;

切换默认的shell,可以参考博文:http://blog.csdn.net/hemmingway/article/details/49301873;



END.

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值