我正在尝试编写自己的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等)时,有必要采取更谨慎的方法,但如果你开始使用版本控制程序,当你阅读版本控制软件的手册时,你很快就会了解到这一切。