Cygwin und Bash

Hallo,

ich habe mir ein Paket zur Bearbeitung und Auswertung von wissenschaftlichen Bildern installiert (IMOD von der University of Colorado).
IMOD läuft unter Linux, Windows, Mac OS X.
Unter Windows ist dazu die Installation von Cygwin erforderlich.

Teile des Pakets IMOD laufen bei mir trotz mehrere Installationsversuche auf meinem Haupt-Rechner (Windows XP SP3 mit Cygwin 1.7.1) nicht richtig.

In der IMOD Newsgroup wurde dieses Verhalten schon berichtet (ein Skript wird angelegt, aber nicht ausgeführt), aber die eigentliche Ursache nicht gefunden.

Ich habe jetzt herausgefunden, dass es Unterschiede in der Umgebungsvariablen gibt.
Gebe ich in der Bash-Shell die Umgebungsvariablen mit SET aus, gibt es auf den Rechnern, auf denen IMOD korrekt funktioniert Einträge wie:

(Windows XP Home SP3 zu Hause):
!::=’::’

(Windows XP Professional SP3 in einer Domäne)
!D:=‚D:\cygwin\bin‘ Das ist der Pfad zu Cygwin
!X:=‚X:‘ Das ist HOMEDRIVE von Windows

Auf dem Rechner wo es nicht läuft, gibt es keine Einträge mit „!Laufwerk“.
Was bedeutet „!Laufwerk“ und wie kann ich die Ausdrücke in die Umgebung einfügen??

Gruß
Albert

Moin, Albert,

Was bedeutet „!Laufwerk“

ist das Dein Ernst? Wo ist Dir das Wort denn begegnet?

wie kann ich die Ausdrücke in die Umgebung einfügen??

in der Eingabeaufforderung:

 SET !D:='D:\cygwin\bin'
 SET !X:='X:\'

wobei D und X hinter dem Gleichheitszeichen vermutlich die Laufwerksbuchstaben auf dem Zielrechner bedeuten. Genaueres sollte aber im Handbuch zur Software zu finden sein.

Gruß Ralf

in der Eingabeaufforderung:

SET !D:=‚D:\cygwin\bin‘
SET !X:=‚X:‘

Ganz so einfach ist es nicht. Das funktioniert nur, wenn man erst manuell eine Eingabeaufforderung öffnet, dort die Set-Befehle aufruft und dann die bash. Üblicherweise startet man cygwin aber per Doppelklick auf die cygwin.bat, und die durch diesen Aufruf gestartete Shell kann mit einem Set-Befehl in dieser Notation nichts anfangen.

Die Befehle werden daher sinnvollerweise in die cygwin.bat geschrieben; dabei dürfen die Hochkomma aber keine Verwendung finden:

@echo off

D:
chdir d:\cygwin\bin

set !D:=D:\cygwin\bin
set !K:=K:\Kokolores

bash --login -i

Gruß

Moin, herrmann,

Die Befehle werden daher sinnvollerweise in die cygwin.bat
geschrieben;

das wäre der nächste Schritt gewesen, wenn es dem Anwender zu blöd wird, die Sequenz jedes Mal vor dem Start zu tippen :smile:

dabei dürfen die Hochkomma aber keine Verwendung finden

Warum nicht? In Windows dürfen Verzeichnisnamen durchaus Leerzeichen enthalten - was dann?

Gruß Ralf