Ich habe zwei Instanzen davon und ich frage mich, was jeder tut:
service=~
mv ~/Desktop/Service$version.tgz $service
Was macht der kleine Schnörkel ~
?
Was würde dann danach cd $service
tun?
Ich habe zwei Instanzen davon und ich frage mich, was jeder tut:
service=~
mv ~/Desktop/Service$version.tgz $service
Was macht der kleine Schnörkel ~
?
Was würde dann danach cd $service
tun?
Antworten:
Das schnörkellose Ding heißt "Tilde".
Es wird zu Ihrem Home-Verzeichnis erweitert.
Versuchen
Beide Anweisungen setzen Ihr Home-Verzeichnis für sich in eine Zeile.
Siehe bash Tilde Expansion für Details.
quelle
Der "Schnörkel" heißt eine Tilde. Es wird verwendet, um auf Ihr Heimverzeichnis zu verweisen, das unter Linux normalerweise ist
/home/username
. Es wird auch in der$HOME
Umgebungsvariablen gespeichert . Das Erweitern des~
zu dem Speicherort des Ausgangsverzeichnisses ist die Aufgabe der Shell (wie zsh oder bash) oder des Dateimanagers (wie Nautilus) und nicht des Dateisystems oder des Betriebssystems selbst.Sie können hiermit auch auf das Basisverzeichnis eines anderen Benutzers verweisen. Wenn der Benutzername des anderen Benutzers beispielsweise "" ist
bob
, können Sie auf dessen Ausgangsverzeichnis mit verweisen~bob
, auf das erweitert wird/home/bob/
.Das erste Beispiel, das Sie angegeben haben, setzt die Variable
service
auf~
, sodass sie Ihrem Ausgangsverzeichnis entspricht. Dies entsprichtservice=/home/username
oderservice=$HOME
.Das zweite Beispiel kopiert die Datei
~/Desktop/Service$version.tgz
(oder/home/username/Desktop/Service$version.tgz
) nach/home/username
. Dieser Befehl entspricht:oder
oder
Die dritte Option ändert das aktuelle Arbeitsverzeichnis (
$PWD
) in/home/username/
. Dies ist äquivalent zu:oder
quelle
In # 1 und # 2 ist ~ Ihr Ausgangsverzeichnis. Wenn Sie also qwerty sind, ist es wahrscheinlich das Verzeichnis / home / qwerty. Also versuchen Sie das
ls ~
zu sehen.Zu # 1: Für mich sieht es so aus, als würde der variable Dienst als Ihr Ausgangsverzeichnis definiert.
Das heißt, nachdem # 2 die tgz-Datei aus dem Desktop-Unterverzeichnis in Ihr Home-Verzeichnis verschoben hat, wechselt # 3 in das Home-Verzeichnis.
quelle
Es sieht so aus, als ob die Befehle Folgendes ausführen.
Weisen Sie Ihrem Home-Ordner eine Variable namens service zu, zum Beispiel:
Die Datei wird von Ihrem Desktop auf die oberste Ebene Ihres Home-Verzeichnisses verschoben. Beispiel:
Das Skript ändert dann das Verzeichnis in die oberste Ebene des Basisverzeichnisses.
Das Skript bereinigt lediglich Ihren Desktop, indem Sie die Datei
/home/user
stattdessen in Ihren Ordner verschieben.quelle
Ich füge hier hinzu, dass ~ user auch zum Ausgangsverzeichnis von [user] erweitert wird, sodass es nicht nur eine Verknüpfung für Ihr eigenes Ausgangsverzeichnis ist.
Z.B:
quelle