변수에서 파일 이름을 추출하고 반환 값을 확인하는 방법

변수에서 파일 이름을 추출하고 반환 값을 확인하는 방법

최신 NodeJS 버전을 설치하기 위한 작은 스크립트를 작성하려고 합니다. 이것이 내가 시작한 방법입니다.

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

다음 단계에서는 node-v8.12.0-linux-armv6l/bin/node -v이것이 내가 원하는 값을 반환하는지 와 같은 작업을 수행해야 합니다.

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

$NODE내 문제는 파일 확장자를 포함하여 전체 파일 이름이 있다는 것입니다 . 그러나 을 교체해야 하는 명령의 경우 node-v8.12.0-linux-armv6l반환된 버전 값을 확인하는 방법도 모르겠습니다.

답변1

다음 코드를 시도해 보세요.

#!/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

관련 정보