首页 > 代码库 > 脚本实现新建脚本shebang及开头约定自动添加
脚本实现新建脚本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: 798761864@qq.com # 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及开头约定自动添加