Übergeben Sie die Variable, wenn Sie an sudo bash weiterleiten

380
Tvartom

Ich versuche einen einfachen Befehl zu geben, um ein Skript in meinem privaten Bitbucket auszuführen. Das Skript muss als root ausgeführt werden, und es werden dann weitere Dateien vom Repo heruntergeladen. Ich brauche das Kennwort für den bitbucket-account.

Wie gehe ich $bbpassweiter runme.sh?

read -s -p "Password:" bbpass && curl --user myuser:$bbpass https://bitbucket.org/myuser/misc/raw/tip/runme.sh | sudo bash && unset bbpass 

runme.sh:

#!/usr/bin/env bash echo "Hello world!" echo $bbpass 
0

1 Antwort auf die Frage

1
nehcsivart

Sie verwenden die Variable $1statt $bbpass.

Das $1erste Argument bedeutet. Wenn Sie also zwei Argumente übergeben, können Sie mit $1und $2jeweils darauf zugreifen .

Es hat den Trick gemacht, danke! Habe einfach -s zu bash hinzufügen. read -s -p "Kennwort:" bbpass && curl --user myuser: $ bbpass https://bitbucket.org/myuser/misc/raw/tip/runme.sh | sudo bash -s $ bbpass && nicht gesetzt bbpass Tvartom vor 9 Jahren 0