ファイルを使用して、正しいディレクトリでバイナリを実行するために起動スクリプトで使用できる顧客ソフトウェアの現在のバージョン番号を保存したいと考えています。
たとえば、実行ディレクトリが次のようになっているとします。
.
..
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 スクリプトでこれを行う最も生き残る方法は何ですか?