如何在编写自己的shell脚本时添加版本函数



我正在尝试编写自己的shell脚本。它几乎完成了,所以我想添加版本。例如,使用foo -v打印foo 1.0.0

但我不确定什么是好方法。我可以在我的执行文件中写入版本,但每次将程序更新到新版本时,我都必须更改它。

我需要你的帮助:)

由于您在的某个位置(我的意思是,在计算机上的某个地方,而不是在您的脑海中)有版本号,因此您可以将该编号保存在那里(如果可行,最好只保存在一个位置),然后读取并输出。

当然有很多方法可以做到这一点。一种方法是通过shell的.源机制。例如,如果文件foo_version由单行组成

FOO_VERSION=1.0.0

然后你可以在foo中由等使用

#!/bin/bash -e
. $(dirname "$0")/foo_version
# ...
echo "foo ${FOO_VERSION}"

或者你的foo_version可以只由1.0.0组成,在这种情况下,你的foo只会把它读成文本。还有更多的可能性,特别是如果您将打包您的软件进行分发。

正如@JonathanLeffler所观察到的,当你与团队合作和/或使用版本控制软件(RCS、CVS、Subversion、Mercurial、Git等)时,有必要采取更谨慎的方法,但如果你开始使用版本控制程序,当你阅读版本控制软件的手册时,你很快就会了解到这一切。

最新更新