在学习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目录下,这样,以后在什么地方都可以直接执行该脚本了。
时间: 2024-10-08 17:13:53