shell腳本實現自動生成文件並更改其權限

 

在學習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,因此使用管道,將兩個命令拼接。

clip_image004

    要提取其中的數字。使用tr –cd ‘[0-9]’,將處理字符串中的除0-9之外的所有字符刪除掉,還是需要使用管腳,與之間的命令拼接。

clip_image006

    這裏後面加echo只是爲了讓得出來的數字顯示在一行。

    所以在腳本中,就下面一句代碼就搞定了。將提取出來的數字保存在變量number中。

clip_image008

    

    第二步:

    使用$(( 表達式 )) 進行數學運算。

clip_image009

    拼接,直接將字符串連寫一起即可。

clip_image010


    第三步:

    使用bash的 `命令` 來執行shell命令。

clip_image011


    第四步:

    還是使用bash的 `命令` 來執行shell命令

clip_image012

    所以,只需要如下幾句代碼即可實現想要的功能了。

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目錄下,這樣,以後在什麼地方都可以直接執行該腳本了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章