在学习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-n1|tr-cd'[0-9]'`number=$(($number+1))new_sh_file="$number"".sh"`touch$new_sh_file``chmoda+x./-R`

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