Biorąc pod uwagę następujące polecenie:
curl http://anysite.com/tarball.tar.gz | tar xz
Jak wejść do katalogu utworzonego przez tar
?
Biorąc pod uwagę to polecenie i nie mogąc ufać, że zrobiłeś to w pustym katalogu roboczym, odpowiedź brzmi: „ Nie robisz ”. Tarballi mogą mieć dowolną liczbę plików lub katalogów, o dowolnej nazwie, na poziomie głównym.
Alternatywą może być coś takiego:
mkdir temp && curl http://anysite.com/tarball.tar.gz | tar xzC temp && cd temp && cd *
W ten sposób tworzysz nowy katalog, nakazując tar
wyodrębnienie do niego archiwum, a następnie cd
włożenie do niego. To ostatnie cd *
zadziała, jeśli paczka zawiera tylko jeden element najwyższego poziomu i będzie to katalog. Edycja: Będzie również „działać”, jeśli pierwszy element będzie *
pasował do katalogu tymczasowego katalogu, nawet jeśli istnieją inne katalogi lub pliki, które wyszły z najwyższego poziomu tarballa. To może nie być definicja „pracy”, której szukasz. Jeśli pierwszym *
pasującym elementem nie jest katalog, pojawi się błąd dla tej części polecenia.
cd *
może zrobić. Mam zamiar edytować moją odpowiedź, aby to naprawić.