変数からファイル名を抽出して戻り値を確認する方法

変数からファイル名を抽出して戻り値を確認する方法

最新の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

おすすめ記事