脚本实现新建脚本shebang及开头约定自动添加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脚本实现新建脚本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及开头约定自动添加的主要内容,如果未能解决你的问题,请参考以下文章

基本shell脚本的边界及变量

shell脚本,测试

shell脚本,测试

Shebang(#!)[转]

shell脚本检测IP地址

Shell与脚本