Como extrair o nome do arquivo em uma variável e verificar o valor de retorno

0

Estou tentando escrever um pequeno script para instalar a versão mais recente do nodeJS. Foi assim que comecei:

NODE="$(curl -sL https://nodejs.org/dist/latest | grep 'armv6l.tar.gz' | cut -d'"' -f2)" &&
wget https://nodejs.org/dist/latest/$NODE &&
tar -xzf $NODE

Para os próximos passos, eu precisaria fazer algo como node-v8.12.0-linux-armv6l/bin/node -v e se isso retornasse um valor que eu gostaria de fazer

$ cd node-v8.12.0-linux-armv6l/
$ sudo cp -R * /usr/local/

Meu problema é que $NODE tem o nome completo do arquivo - incluindo a extensão do arquivo. Mas para os comandos eu preciso substituir node-v8.12.0-linux-armv6l . Também não sei como verificar um valor de versão de retorno.

    
por user3142695 03.10.2018 / 12:51

1 resposta

1

Experimente o código abaixo,

#!/bin/bash
SOF_PATH=/opt

NODE="$(curl -sL https://nodejs.org/dist/latest | grep 'armv6l.tar.gz' | cut -d'"' -f2)"
if [ ! -z "$NODE" ]; then
    cd $SOF_PATH
    /usr/bin/wget "https://nodejs.org/dist/latest/$NODE" >/dev/null 2>&1
    /bin/tar -xzf $NODE
    NODE_APP=${NODE%.tar.gz}
    cd $NODE_APP/bin
    NODE_VERSION='node -v'
    echo "$NODE_VERSION"
    cd ..
    sudo cp -R * /usr/local/
fi
    
por 03.10.2018 / 13:17