当前位置:  开发笔记 > 编程语言 > 正文

从文件中提取版本字符串的最佳方法是什么?

如何解决《从文件中提取版本字符串的最佳方法是什么?》经验,为你挑选了1个好方法。

我想使用一个文件存储一个客户软件的当前版本号,启动脚本可以使用该文件在正确的目录中运行二进制文件.

例如,如果运行目录如下所示:

.
..
1.2.1
1.2.2
1.3.0
run.sh
current_version

而且current_version包含:

1.2.2

我想run.sh进入1.2.2并运行程序foo.

目前的解决方案是:

#!/bin/sh
version = `cat current_version`
cd $version
./foo

它工作但不是很强大.它不检查文件是否存在,无法处理多行,前导空格,注释行,空白文件等.

使用shell或perl脚本执行此操作的最可行方法是什么?



1> DustinB..:

这是一种常见的方法.您可以使用测试运算符检查目录/文件是否存在,例如"if [-d"somedirectory"];然后"或[-t"somefile"]

不过,我更经常使用符号链接.然后,您只需更改符号链接即可使用所需的版本.

例如,

$ ln -s 1.2.2 current_version
$ ls -al
total 20
drwxr-xr-x 5 dbreese dbreese 4096 2008-09-15 13:34 .
drwxr-xr-x 3 dbreese dbreese 4096 2008-09-15 13:34 ..
drwxr-xr-x 2 dbreese dbreese 4096 2008-09-15 13:34 1.2.1
drwxr-xr-x 2 dbreese dbreese 4096 2008-09-15 13:34 1.2.2
drwxr-xr-x 2 dbreese dbreese 4096 2008-09-15 13:34 1.3.0
lrwxrwxrwx 1 dbreese dbreese    6 2008-09-15 13:34 current_version -> 1.2.2/

然后你的脚本可以使用"cd current_version".

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有