1. 程式人生 > >腳本實現新建腳本shebang及開頭約定自動添加

腳本實現新建腳本shebang及開頭約定自動添加

linux

運維應該是一個好的管理員,好的管理員不僅需要技術支撐,一個良好的編程習慣不僅會提高所寫腳本的可讀性,還能方便自己管理。再者,高效快捷作為基本職業素質及偷懶的必備技能,已經到了每個運維人員都得不得不重視的程度。畢竟,節省越多的時間就意味著越多的可能性。比如喝咖啡打遊戲泡妹子推塔刷番看電影畫本子什麽鬼的,啊,畢竟阿拉還沒正式工作,阿拉怎麽可能知道職業運維人的日常?(手動攤手無奈臉,請自行腦補)

咳咳,廢話說太多了。

總之我們來看一下題目。

寫一個能夠創建新腳本的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及開頭約定自動添加