您好,登錄后才能下訂單哦!
在學(xué)習(xí)shell的時(shí)候,會(huì)不斷的創(chuàng)建新文件,然后在新文件中的編寫shell腳本學(xué)習(xí)。于是就有如下幾個(gè)步驟:
1、 使用touch命令新建shell腳本
2、 編寫shell腳本
3、 使用chmod更加shell腳本權(quán)限,使其具有可執(zhí)行權(quán)限,然后執(zhí)行
當(dāng)多寫幾個(gè)腳本后,就發(fā)現(xiàn)這個(gè)過程很繁瑣,而且新建的shell腳本是以數(shù)字升序進(jìn)行創(chuàng)建的。為什么不寫一個(gè)腳本來實(shí)現(xiàn)上述三個(gè)過程了。于是就開始了,結(jié)果花了好長一段時(shí)間才弄出來,真實(shí)慚愧,還是對(duì)shell不熟悉了。
先說說實(shí)現(xiàn)的思路:
1、 先得到目錄下最新的腳本名,提取數(shù)字
2、 將數(shù)字加1,然后和.sh進(jìn)行拼接,得到新的腳本名
3、 使用touch創(chuàng)建新腳本
4、 使用chmod更改權(quán)限
對(duì)于第一步:
使用ls –t參數(shù), 以時(shí)間排序顯示。
要提取第一行數(shù)據(jù),需要使用head –n 1,因此使用管道,將兩個(gè)命令拼接。
要提取其中的數(shù)字。使用tr –cd ‘[0-9]’,將處理字符串中的除0-9之外的所有字符刪除掉,還是需要使用管腳,與之間的命令拼接。
這里后面加echo只是為了讓得出來的數(shù)字顯示在一行。
所以在腳本中,就下面一句代碼就搞定了。將提取出來的數(shù)字保存在變量number中。
第二步:
使用$(( 表達(dá)式 )) 進(jìn)行數(shù)學(xué)運(yùn)算。
拼接,直接將字符串連寫一起即可。
第三步:
使用bash的 `命令` 來執(zhí)行shell命令。
第四步:
還是使用bash的 `命令` 來執(zhí)行shell命令
所以,只需要如下幾句代碼即可實(shí)現(xiàn)想要的功能了。
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目錄下,這樣,以后在什么地方都可以直接執(zhí)行該腳本了。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。