Öffnen des Linux-Subsystems (Bash unter Ubuntu unter Windows) in einem bestimmten Verzeichnis


0

Gibt es irgendwelche Argumente, damit die Bash nicht im Home-Verzeichnis startet, sondern in einem anderen?

Vielen Dank


Sie können ein beliebiges Verzeichnis festlegen, indem Sie cdam Ende von einen Befehl einfügen $HOME/.bashrc. Sie können auch zusätzliche Umgebungsvariablen festlegen, neue Verzeichnisse hinzufügen PATH, neue Funktionen erstellen usw.
AFH

Ich möchte je nach Projekt eine Verknüpfung erstellen. Wenn ich an 5 Projekten arbeite, benötige ich 5 Verknüpfungen. Ich denke also nicht, dass @AFHs Lösung funktionieren wird.
Maarten De Block

Für @Biswas Vorschlag gibt es keine "Shortcut path" -Einstellung. "Start in" funktioniert nicht, da ein Windows-Pfad erwartet wird. Ich hatte gehofft, es irgendwie im Ziel hinzufügen zu können.
Maarten De Block

Antworten:


4
  • Installieren Sie zunächst das Windows-Subsystem Linux auf Ihrem Windows-PC. Gehen Sie in den Ordner, C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programsmit anderen Worten, setzen Sie diesen %AppData%\Microsoft\Windows\Start Menu\Programsin den Datei-Explorer. Sie finden eine Verknüpfung mit dem Namen "Bash on Ubuntu on Windows".

Bash-Shortcut-Pfad

  • Kopieren Sie die Verknüpfung in einen anderen Ordner. Klicken Sie mit der rechten Maustaste auf diese Verknüpfung, und öffnen Sie die Registerkarte Verknüpfung in den Eigenschaften . Siehe Standardzielpfad ist C:\Windows\System32\bash.exe ~. Die Tilde (die wellenförmige horizontale Linie) wird verwendet, um die Home-Verzeichnisse der Benutzer darzustellen . Auf diese Weise kann ein Benutzer auch zu seinem Ausgangsverzeichnis zurückkehren, indem er die Tilde als Argument für cd verwendet, dh cd ~

Standardpfad in der Bash-Verknüpfung

  • Entfernen Sie die Tilde (~) aus dem Zielpfad und setzen Sie den Ordnernamen in die Option Start in . Als Beispiel habe ich "C: \ Programme \ WindowsPowerShell" angegeben. Fügen Sie den Ordnerpfad in Anführungszeichen ein, wenn der Pfad Platz enthält. Jetzt können Sie bash in diesem Ordner starten.

Neuer Bash-Startpfad

Bash in neuem Verzeichnis geöffnet


Das ist, wonach ich gesucht habe. Vielen Dank.
Maarten De Block

Das ~ zu entfernen war der fehlende Hinweis für mich. Vielen Dank!
OsakaWebbie

2

Um bash in einem bestimmten Verzeichnis zu starten, bearbeiten Sie die .bashrc-Datei. Tippen Sie nano .bashrc, um die Datei im Nano-Editor zu öffnen. Fügen Sie den folgenden Befehl hinzu:

cd <PATH>

Wobei PFAD der Pfad zu Ihrem Verzeichnis ist. Sie können sogar ein Verzeichnis in Ihrem Windows-Dateisystem angeben:

cd /mnt/c/path/in/windows

0

Um auf meinen Kommentar mit den zusätzlichen Informationen in Ihrer Antwort einzugehen, können Sie erreichen, was Sie wollen, indem Sie separate Verknüpfungen mit verschiedenen benutzerdefinierten Initialisierungsdateien in der bashLaufzeichenfolge haben:

%SystemRoot%\System32\bash.exe --initfile ~/projN

Hier Nbezieht sich auf die verschiedenen Projektnummern oder Namen.

Jede ~/projNDatei sollte enthalten:

# Perform normal start-up tasks

[ -r /etc/bash.bashrc ] && . /etc/bash.bashrc
[ -r ~/.bashrc ] && . ~/.bashrc

# Perform additional tasks

cd projNdirectory/

Normalerweise ersetzt eine bestimmte Initialisierungsdatei die normalen Startdateien vollständig, sodass diese in der benutzerdefinierten Datei aufgerufen werden müssen, bashdamit sie mit Ihrer vertrauten Umgebung (Eingabeaufforderung PATH, Aliase usw.) gestartet werden können . Dies basiert auf der bash Dokumentation:

--init-file file
--rcfile file
       Execute commands from file instead of the system wide initialization
       file /etc/bash.bashrc and the standard personal initialization
       file ~/.bashrc if the shell is interactive (see INVOCATION below).
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.