腳本實現新建腳本shebang及開頭約定自動添加
運維應該是一個好的管理員,好的管理員不僅需要技術支撐,一個良好的編程習慣不僅會提高所寫腳本的可讀性,還能方便自己管理。再者,高效快捷作為基本職業素質及偷懶的必備技能,已經到了每個運維人員都得不得不重視的程度。畢竟,節省越多的時間就意味著越多的可能性。比如喝咖啡打遊戲泡妹子推塔刷番看電影畫本子什麽鬼的,啊,畢竟阿拉還沒正式工作,阿拉怎麽可能知道職業運維人的日常?(手動攤手無奈臉,請自行腦補)
咳咳,廢話說太多了。
總之我們來看一下題目。
寫一個能夠創建新腳本的Shell script,如名為create.sh 當執行如createsh /root/bin/test1.sh時,則會自動創建並打開/root/bin/test1.sh,且其中包含以下內容。 #!/bin/bash # ------------------------------------------ # Filename: # Revision: # Date: # Author: # Email: # Website: # Description: # ------------------------------------------ |
其實看到這個題目,阿拉率先想到的是把那長長的一段寫入一個文檔,然後每次復制文檔就可以了。餵,看我這麽機智不誇誇我嗎?
這樣的話只要事先寫好一個文件如head.sh,head.sh內包含如下內容:
#!/bin/bash
# ------------------------------------------
# Filename:
# Revision:
# Date:
# Author:
# Email:
# Website:
# Description:
# ------------------------------------------
那我們的create.sh的主要內容只需要有以下兩行就足夠了:
cp head.sh $1
vim $1
這樣的話不僅代碼執行速度快,而且便於後期維護,隨時向head.sh內添加內容,也會在新一次執行create.sh file的時候隨之增添。
但這樣就有一個問題。程序的執行必須依托於head.sh,而cp是基於文件復制。(原本阿拉還想將head.sh的內容用一個變量表示,然而cp並不能識別非文件的變量。這點也是測試了好久才突然想通的。-!_!-初學者的無自覺主義0.0)
Linux裏的命令如此多,能夠這樣寫入變量的其他命令倒是有的。比如再基礎的新人都會用的echo。下面放個完整的代碼。
#!/bin/bash # ------------------------------------------ # Filename: createsh30.sh # Revision: 1.1 # Date: 20170802 # Author: zhangsan # Email: [email protected] # Website: # Description: This script just for creat new script # ------------------------------------------ touch $1 echo "#!/bin/bash" >> $1 echo "# ------------------------------------------" >> $1 echo "# Filename: " >> $1 echo "# Revision: " >> $1 echo "# Date: " >> $1 echo "# Author: " >>$1 echo "# Email: " >> $1 echo "# Website: " >> $1 echo "# Description: " >> $1 echo "# ------------------------------------------" >> $1 vim $1 |
本來不想說太多無關的話的,不過開頭已經那麽啰嗦也無所謂這些了吧。其實這個代碼阿拉也是看到別人這麽寫才意識到還能這麽幹的。結果看到別人的想法比自己好,腦子就邁不開步向前走了0.0,一直到現在也不知道自己下手會寫成什麽樣子。
是初學者沒錯,但若要以此止步這輩子大概都不會有長足的進步了。
所以啊,以後自己寫代碼之前,盡量不要問別人呦。咳咳,這和交流意見不是一個概念了。
嗯,就這。
本文出自 “RightNow” 博客,請務必保留此出處http://amelie.blog.51cto.com/12850951/1953265
腳本實現新建腳本shebang及開頭約定自動添加