Mým cílem je získat helm
binární z helm-v2.5.0-linux-amd64.tar.gz
do mého /usr/local/bin
v co nejmenším počtu kroků. Problém je v tom, že .tar.gz
soubor obsahuje binární soubor v linux-amd64
podadresář.
Takže když to udělám:
$ wget -P /tmp https://storage.googleapis.com/kubernetes-helm/helm-v2.5.0-linux-amd64.tar.gz
$ tar -xzvf /tmp/helm-v2.5.0-linux-amd64.tar.gz -C /usr/local/bin linux-amd64/helm
Skončím s /usr/local/bin/linux-amd64/helm
místo /usr/local/bin/linux-amd64/helm
.
Existuje tar
chybí mi parametr nebo musím zahrnout nějaký mv
a kroky čištění?
Přijatá odpověď:
Musíte použít --strip-components=NUMBER
:
--strip-components=NUMBER
Strip NUMBER leading components from file names on extraction.
což znamená, že váš příkaz by měl vypadat takto:
tar -xzvf /tmp/helm-v2.5.0-linux-amd64.tar.gz -C /usr/local/bin --strip-components=1 linux-amd64/helm
Automatická transformace nových řádků v Shell proměnné přiřazení?
Linux – Proč Rsync na Linuxu nezachovává všechna časová razítka (čas vytvoření)?