編輯/更新:解決了! 請看我是怎么做的,向下滾動。
我試圖創建一個自動更新腳本,但問題是,我唯一能做的模式是從版本號中洗掉點,這可能(而且很可能)會在未來產生一個錯誤。
問題是我不能用"(($num > $num2 )) "來使用帶點/小數的數字。這是一個非常具體的問題 :/
實際的腳本是這樣的
實際的腳本是這樣的:
VER=$(curl --silent "https://api.github.com/repos/user/repository/releases/latest" | grep -Po ' "tag_name": "K.*?(?=")' | tr -d . )
INSTALLVER=$(cat $HOME/my-path/example-program-version.txt | tr -d . )
if (( $VER > $INSTALLVER ) ); then
echo need_update
yes "i" | sudo myinstallscript example
else
echo already_updated
fi
(我用 "myinstallscript "得到$INSTALLVER的數字)
如果你能幫助我,非常感謝! 另外,非常感謝您的閱讀!
uj5u.com熱心網友回復:
@KamilCuk 謝謝! 問題解決了。我從你發來的鏈接中挑選了一個回復,我改編了這個,把 "頭 "命令放進了變數里面。
解決方案:
LATESTVER=`echo -e "$VER
$INSTALLVER" | sort -V -r | head -n 1`。
(用echo呼出兩個變數,每行一個,然后用sort排序,把主要的放在第一行,用head得到第一行,并把這個放在 "LATESTVER "變數上)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/309927.html
標籤:
