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í)?