码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本实现自动生成文件并更改其权限

时间:2016-01-05 15:41:49      阅读:410      评论:0      收藏:0      [点我收藏+]

标签:bash   自动生成文件   

 

在学习shell的时候,会不断的创建新文件,然后在新文件中的编写shell脚本学习。于是就有如下几个步骤:

1、 使用touch命令新建shell脚本

2、 编写shell脚本

3、 使用chmod更加shell脚本权限,使其具有可执行权限,然后执行

当多写几个脚本后,就发现这个过程很繁琐,而且新建的shell脚本是以数字升序进行创建的。为什么不写一个脚本来实现上述三个过程了。于是就开始了,结果花了好长一段时间才弄出来,真实惭愧,还是对shell不熟悉了。

先说说实现的思路:

1、 先得到目录下最新的脚本名,提取数字

2、 将数字加1,然后和.sh进行拼接,得到新的脚本名

3、 使用touch创建新脚本

4、 使用chmod更改权限

对于第一步:

使用ls –t参数, 以时间排序显示。


    要提取第一行数据,需要使用head –n 1,因此使用管道,将两个命令拼接。

技术分享

    要提取其中的数字。使用tr –cd ‘[0-9]’,将处理字符串中的除0-9之外的所有字符删除掉,还是需要使用管脚,与之间的命令拼接。

技术分享

    这里后面加echo只是为了让得出来的数字显示在一行。

    所以在脚本中,就下面一句代码就搞定了。将提取出来的数字保存在变量number中。

技术分享

    

    第二步:

    使用$(( 表达式 )) 进行数学运算。

技术分享

    拼接,直接将字符串连写一起即可。

技术分享


    第三步:

    使用bash的 `命令` 来执行shell命令。

技术分享


    第四步:

    还是使用bash的 `命令` 来执行shell命令

技术分享

    所以,只需要如下几句代码即可实现想要的功能了。

number=`ls -t | head -n 1 | tr -cd ‘[0-9]‘`
number=$(( $number + 1 ))
new_sh_file="$number"".sh"
`touch $new_sh_file`
`chmod a+x ./ -R`

    还可以将该脚本赋值到/usr/bin目录下,这样,以后在什么地方都可以直接执行该脚本了。



本文出自 “北斗萁星” 博客,请务必保留此出处http://weiqi7777.blog.51cto.com/1866266/1731671

shell脚本实现自动生成文件并更改其权限

标签:bash   自动生成文件   

原文地址:http://weiqi7777.blog.51cto.com/1866266/1731671

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!