Supondo que a última versão estável é sempre o último arquivo com um nome de arquivo como ruby-2.5.1.tar.gz
no link , você pode extrair o número da versão com:
curl -s https://cache.ruby-lang.org/pub/ruby/ | sed -nr '1h;1!H;$!d;x;s/.*ruby-([0-9.]+).tar.gz.*//p'
Essa abordagem usa curl
pararecuperaralistadearquivose
sed
paracortaronúmerodaversão,conformeexplicadoem
grep
com lookarounds em vez disso, pode até ser um pouco mais rápido:
curl -s https://cache.ruby-lang.org/pub/ruby/ | grep -oP '(?<=ruby-)\d\.\d\.\d(?=.tar.gz)' | tail -1
Basta adicionar uma linha configurando a variável RUBY_VERSION
ao seu script:
#Get version number of latest stable Ruby version
RUBY_VERSION=$(curl -s https://cache.ruby-lang.org/pub/ruby/ | sed -nr '1h;1!H;$!d;x;s/.*ruby-([0-9.]+).tar.gz.*//p')
#Install Ruby
rvm install $RUBY_VERSION
Exemplo de execução
$ curl -s https://cache.ruby-lang.org/pub/ruby/ | sed -nr '1h;1!H;$!d;x;s/.*ruby-([0-9.]+).tar.gz.*//p'
2.5.1
$ curl -s https://cache.ruby-lang.org/pub/ruby/ | grep -oP '(?<=ruby-)\d\.\d\.\d(?=.tar.gz)' | tail -1
2.5.1