Hintergrund: Ich versuche eine [.bat] -Datei zu schreiben, damit ich sie doppelt anklicken kann und ein Bash-Skript wird aufgerufen. Das Bash-Skript startet ein paar Windows-GUI-Apps, um die GPU / CPU-Temperaturen zu überwachen. Ich habe gerade eine neue Installation von Cygwin v1.7.7-1 (heute heruntergeladen) und Windows 7.
Code: monitor-temps.bat:
%Vor%Code: monitor-temps.bash:
%Vor%Ausgabe: Nachdem ich auf die Datei [.bat] doppelklicke, erhalte ich:
%Vor%Ich bekomme immer noch den gleichen Berechtigungsfehler, wenn ich in das Verzeichnis cd und die Anwendung manuell ausführe.
Berechtigungen: Aus meiner Erfahrung mit Berechtigungsproblemen in Linux sieht alles gut aus, weil ich der Benutzer bin, der ich bin, und die Datei hat die erwarteten Berechtigungen:
%Vor%Frage: Kann jemand das beheben? Fehle ich etwas?
Als Entwickler verwende ich eine Verknüpfung, um eine Befehlszeilenschnittstelle (Command-Line Interface, CLI) bereitzustellen, die sich in meiner Windows-Umgebung ähnlich wie Linux verhält, und stieß auf das gleiche Problem beim Entpacken einer Datei.
Der Fehler war, die Verknüpfung auf "Als Administrator ausführen" zu setzen.
Wenn Sie diese Methode verwenden, um auf Ihre Cygwin-Umgebung zuzugreifen, gehen Sie zu den Eigenschaften der Verknüpfung, wählen Sie die Schaltfläche Erweitert, um die Optionen "Als Administrator ausführen" zu erhalten, aktivieren Sie das Kontrollkästchen und klicken Sie auf OK. Und los gehts !! Sie können dazu auch Ihre Batch-Datei einrichten, indem Sie eine Verknüpfung dazu machen und das oben beschriebene tun.
Hoffe das hilft!
Ich denke, Sie müssen die Verzeichnis- oder Dateiberechtigung ändern. Wenn Sie die Berechtigung einer Datei oder eines Verzeichnisses ändern möchten, müssen Sie den vollständigen Pfad mit dem Code hinzufügen.
Als ob Sie die Berechtigung für den cocos2d-x-Ordner in C: \ yourDirectory ändern möchten (ich bin unter Windows; auf Mac wäre es /
anstelle von \
) schreibe den Code in die cygwin-Konsole:
Der einfachste Weg, dies zu beheben, ist:
Überprüfen Sie die Mount-Tabelle mit cat /proc/mounts
oder mount
und stellen Sie sicher, dass jeder Mount-Punkt von /
, /usr/bin
, /usr/lib
ein noacl
-Flag hat. Wenn es fehlt, korrigieren Sie /etc/fstab
und starten Sie neu. (Der Neustart hat das noacl
-Flag des Root-Mount-Punktes für mich synchronisiert, und ich weiß nicht, ob dasselbe ohne Neustart erreicht werden kann).
Suchen Sie nach einem NULL SID-Datensatz und anderen seltsamen Datensätzen in der Ausgabe von icacls für die Datei. Sie erscheinen beim Schreiben durch die POSIX-ACL-Übersetzungsschicht in Cygwin hinzugefügt (die Verwendung von "noacl" in / etc / fstab ermöglicht das Deaktivieren, aber der Schaden wurde bereits behoben).
Das Zurücksetzen der Windows-ACL für die Datei ist möglicherweise nicht ausreichend, wenn die übergeordneten Elemente den NULL-SID-Datensatz enthalten. Man muss
ausführen %Vor%über die Eingabeaufforderung, um die überflüssigen Datensätze aus der Windows-ACL in jeder Datei und in jedem Verzeichnis zu entfernen.
Aktualisieren Andere Befehle setzen die Eigentumsrechte zurück, entfernen Standard-ACLs und zeigen ACLs einer bekannten Binärdatei vor und nach den Änderungen an:
%Vor% Ich hatte dieses Problem und habe es um cd
auf das Verzeichnis korrigiert, das die Box enthält, die ich gerade gemacht habe (gepackt oder umgepackt). Dann vagrant box add <file.box> --name <name>
. Ich denke, dass die PATHs die Dinge versauen und zum Scheitern bringen. Dann überprüfen Sie mit vagrant box list
. Dann habe ich mkdir coolbox; cd coolbox
. Dann habe ich nur vagrant init <name>
und es kommt alles wie Magie auf.
Tags und Links windows-7 cygwin file-permissions