Starten Sie die Bash-Shell (cygwin) mit dem richtigen Pfad, ohne das Verzeichnis zu ändern

7695
Ben Voigt

Ich muss ein cygwin-Shell-Skript ausführen, ohne das Arbeitsverzeichnis von außerhalb der cygwin-Umgebung zu ändern.

Wenn ich gerade laufe \path\to\bash.exe -c command, ist der Pfad nicht richtig eingestellt und die Cygwin-Programme können nicht gefunden werden.

Wenn ich die --loginOption verwende, wird bashder Pfad korrekt festgelegt, aber auch das Ausgangsverzeichnis wird geändert.

Welche Optionen sollte ich zum Starten von bash verwenden, um das aktuelle Arbeitsverzeichnis beizubehalten und auch nach ausführbaren Dateien von Cygwin zu suchen?

12
Hallo, eine ähnliche Frage wurde bei StackOverflow diskutiert: http://stackoverflow.com/questions/9637601/open-cygwin-at-a-specific-folder Roman Hocke vor 10 Jahren 0
@Roman: Dies wäre völlig auf SO zurückzuführen. Ben Voigt vor 10 Jahren 0

1 Antwort auf die Frage

18
Ben Voigt

Es stellt sich heraus, dass der cygwin-Standard /etc/profilenach einer Umgebungsvariablen mit dem Namen sucht CHERE_INVOKINGund die Änderung des Verzeichnisses verhindert, falls festgelegt.

So

set CHERE_INVOKING=1 \path\to\bash.exe -l -c command 

hat das gewünschte Verhalten.

Dies funktioniert auch für das Aufrufen von MSYS2-Bash. tharen vor 9 Jahren 0