Я хочу использовать файл для хранения текущего номера версии для части клиентского программного обеспечения, которая может быть использована скриптом запуска для запуска двоичного файла в правильном каталоге.
Например, если каталог запуска выглядит так:
.
..
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
Это работает, но не очень надежно. Он не проверяет существование файла, не может работать с несколькими строками, начальными пробелами, закомментированными строками, пустыми файлами и т. Д.
Каков наиболее приемлемый способ сделать это с помощью сценария оболочки или perl?