So weisen Sie einer Variablen im Terminal einen Datei-/Ordnerpfad zu

So weisen Sie einer Variablen im Terminal einen Datei-/Ordnerpfad zu

Angenommen, ich habe den folgenden Pfad:

/home/$USER/Downloads/My Folder

Ich habe versucht, den oben angegebenen Dateipfad FILE_NAMEwie folgt einer Variablen zuzuweisen:

FILE_NAME=/home/$USER/Downloads/My Folder
$FILE_NAME

Die Ausgabe war:

bash: /home/$USER/Downloads/My :No such file or directory

Wie kann dieses Problem behoben werden?

Antwort1

Sie müssen Anführungszeichen verwenden, wenn der Pfad Leerzeichen enthält:

FILE_NAME="/home/$USER/Downloads/My Folder"

Antwort2

Das Problem ist das eingebettete Leerzeichen im Namen. Die einfachste Möglichkeit, dieses Problem zu lösen, besteht darin, die vollständige Pfadzeichenfolge in Anführungszeichen zu setzen (d. h. FILE_NAME="/home/${USER}/Downloads/My Folder"
Der Grund für die Verwendung "in Ihrem Fall ist, dass Sie $USER verwenden, was eine Ersetzung erfordert, bei der 'dies nicht passieren würde.

Eine zweite Frage ist, wie Sie die Variable verwenden werden. In Ihrem Beispiel ... würde ich annehmen, dass Sie die CD aus dem Befehl entfernt haben. Um die Variable zu verwenden, sollten Sie wahrscheinlich auch " um ihre Verwendung herum verwenden.

also ... meine Vermutung zu Ihrer Verwendung ... cd "$FILE_NAME"

verwandte Informationen