Analisar o formulário NPM_TOKEN .npmrc para um registro específico

0

O arquivo .npmrc tem várias entradas como esta:

//registry.npmjs.org/:_authToken=<sometoken>
//my.privateregistry.com/:_authToken=<sometoken>

Além disso, pode haver entradas completamente diferentes em .npmrc .

Como posso analisar <sometoken> usando um script bash para um registro específico, especificando sua URL como registry.npmjs.org como um parâmetro para um script bash?

    
por Alexander Zeitler 11.02.2017 / 13:39

1 resposta

1

Você pode fazer assim:

#!/bin/bash

URLTOSEARCH="$1"
FILENAME="npmrc"

# you have to give an url
# so the search can begin
if [ -z "$URLTOSEARCH" ]; then
        echo "Please enter an url to search."
        exit 1
fi

# first, get the link
# out of the file
while read -r line
do
        # get the url
        EXTRACTEDURL=$(echo "$line" | grep -o '//.*/:' | sed 's/\/:/\//g')

        # get the token
        EXTRACTEDTOKEN=$(echo "$line" | grep -o '_authToken=.*' | sed 's/_authToken=//g')

        if [ "//$URLTOSEARCH/" == "$EXTRACTEDURL" ]; then
                echo "Token found: $EXTRACTEDTOKEN"
        fi
done < "$FILENAME"
    
por 12.02.2017 / 11:58