Zielsetzung:
Weisen Sie nach dem Erweitern des Archivs a.zipmit dem Befehl unzipon Ubuntu 12.10den Namen des Ordners a.zipzu, auf den die bashVariable erweitert wurde v.
a.zip Es wird davon ausgegangen, dass die Erweiterung auf einen einzelnen Ordner und nicht auf mehrere Ordner erfolgt.
Beispiel:
Wenn unzip a.zipin Ordner erweitert ./foo/, echo $vsollte zurückkehren foo.
Meine Umgebung:
GNU/Linux (kernel 3.5.0-25-generic)
Ubuntu 12.10
bash v4.2.37(1)-release
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
Aktuelle Problemumgehung Ich bin unzufrieden mit: Erweitern über gibt unzip -d bar a.zipdann v=$(ls -1 bar)das richtige Ergebnis, bringt aber das Dateisystem durcheinander.
-m1aufgrepund ich wusste nicht ,cutüber bis zum Ende Druck-fN-(letzte Feldnummer weggelassen). Du hast mir etwas beigebracht! Dafür -> upvote! Haben Sie nicht nur ein Tool verwendet (z. B.awk), weil 1.grepundcutweiter verbreitet sind alsawkund 2. Sie finden, was Sie geschrieben haben, "lesbarer"? Ich würde gerne Ihre Begründung hören, da man einen Einzeiler wie folgt zusammenstellen könnte : stackoverflow.com/questions/15776352 PS: Sie brauchen keine Anführungszeichen, keine Wortaufteilung in Bash zur variablen Zuweisungszeit.v=$(echo a b)ist das gleiche wiev="$(echo a b)"