私はコンパイル中ですマルチプレクサ次のスクリプトを使用してソースコードから取得します。
set -e
DIR="${HOME}/Programs/"
build() {
[[ -d "${DIR}" ]] || mkdir -p "${DIR}"
cd "${DIR}"
if [[ ! -d tmux ]]; then
git clone https://github.com/tmux/tmux
fi
cd tmux
git stash
git checkout master
git pull
make clean; make distclean
sh autogen.sh
./configure
make
}
install() {
dpkg -r tmux
checkinstall --pkgname tmux --pkgversion '9999:9999.9999' -y
}
build
install
期待どおりにtmuxをコンパイルしてインストールします。
ただし、報告されたバージョンにはまだ問題があります$ tmux -V
。
$ tmux -V
tmux master
tmux master
私が好むがtmux X.Y
最新X.Y
バージョンであるバージョンを報告します。たとえば、現在の最新バージョンは2.8
$ tmux -V
だから、出力したいと思いますtmux 2.8
。
この出力を変更する方法はありますか?
tmuxプロセスバージョンを設定するオプションの出力を見て./configure --help
検索しましたが、見つかりませんでした。
現在のsed
スクリプトにコマンドを含めて自動的にファイルを編集し、大きなconfigure.ac
バージョン番号を割り当てました99.99
(プログラミング方法で最新バージョンのバージョン番号を取得する方法がわかりません)。
sh autogen.sh
sed -i 's/AC_INIT(tmux, master)/AC_INIT(tmux, 99.99)/' configure.ac
./configure
もっと良い方法がありますか?
私がこの質問をする理由は私が使うからです。tmux - オープン$ tmux -V
プラグイン出力時に期待どおりに機能しませんtmux master
。
後者はこのコード行現在のtmuxプロセスのバージョンを確認してください。
$ tmux_version="$(tmux -V | cut -d ' ' -f 2)"
その後、プラグインはこの変数を使用します。キーバインディングをインストールするコマンドの構文を決定します。。
マイコンピュータにキーバインディングがインストールされていません$ tmux -V
。交換すると。この行プラグインから:
if [[ $tmux_version == $1 ]]
次の行を使用してください。
if [[ $tmux_version == $1 ]] || [[ $tmux_version == 'master' ]]
これにより、プラグインはキーバインディングを正しくインストールします。
答え1
次の行を挿入します。
sed '/AC_INIT/s/master/m4_esyscmd_s([git describe])/' -i configure.ac
sh autogen.sh
スクリプトを呼び出す前に。
回答によるとここ