Win10 und Bash-Command ausführen > kein Aufruf

Melden Sie ein Problem oder suchen Sie nach einer Lösung.

@ndre
Beiträge: 18
Registriert: Freitag, 25. Juli 2014 - 14:58 Uhr

Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von @ndre »

Hallo,
ich möchte über das Feld URL/Programm ein Bash-Command ausführen.
Der Aufruf ist folgender:
  • "C:\Windows\System32\bash.exe" -c "sshpass -p {PASSWORD} ssh {USERNAME}@[SSH-SERVER]"
Jedoch wird kein Aufruf gestartet der Bash gestartet.

Der Command mit Putty arbeitet problemlos
  • "C:\Program Files (x86)\PuTTY\putty.exe" -v -pw {PASSWORD} {USERNAME}@[SSH-SERVER]
Lege ich eine Verknüpfung mit der realen Daten an, öffnet sich das Bash-Fenster und ich werde eingeloggt.
Warum wird bei einem Klick auf den Button URL/Programm das Fenster nicht geöffnet?

Eventuell hat ja jemand einen Tip für mich.

Danke
Heiko Schröder
Site Admin
Beiträge: 2457
Registriert: Sonntag, 01. Mai 2005 - 14:55 Uhr
Wohnort: Leipzig
Kontaktdaten:

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von Heiko Schröder »

Hallo,

ich arbeit zwar nicht mit der Bash, aber unter https://wpdev.uservoice.com/forums/2669 ... ne-options ist ersichtlich, dass der Parameter -c das Skript unsichtbar ausführen lässt.
-c : run a script (command) and exit, no console window !
Hier wäre wohl der Parameter -a besser.
-a : start a script in a login shell with console, leave console open at a shell prompt after script runs (autorun)
Heiko Schröder Softwareentwicklung
Passwortverwaltung 1PW für Windows, Android und iOS
@ndre
Beiträge: 18
Registriert: Freitag, 25. Juli 2014 - 14:58 Uhr

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von @ndre »

Hallo,
es wundert mich halt, dass es geht, wenn ich mir auf den Desktop eine Verknüpfung anlege die die gleichen Daten Pfadangaben und Parametern hat.
"C:\Windows\System32\bash.exe" -c "sshpass -p Streng123Geheim ssh omatrude@ssh4711-0815"
Es öffnet sich ein Shell-Fenster, die Anmeldung läuft durch, das Fenster bleibt geöffnet und ich kann auf dem Server arbeiten.

Auf jeden Fall recht vielen Dank für den Link und den Hinweis, ich werde es heute Abend mal austesten.
Zum Glück lernt man nie aus.

Wird der Programmaufruf incl. der Parameter aus 1PW als Scriptaufruf realisiert?

@ndré
Thomas
Beiträge: 150
Registriert: Sonntag, 23. April 2006 - 16:00 Uhr

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von Thomas »

So ein Problem beim Programmaufruf mit Parametern habe ich leider auch und das nicht zum ersten Mal.

Folgendes funktioniert, exakt so wie es hier steht, in einer Verknüpfung (hab ich vom Programm anlegen lassen):

Code: Alles auswählen

"C:\Program Files (x86)\WinSCP\WinSCP.exe" "Strato HiDrive 1000" /Desktop /UploadIfAny
"Strato HiDrive 1000" ist ein im Programm eingerichtetes Verbindungsziel, welches wegen den Leerzeichen im Namen in Anführungszeichen gesetzt werden muss. Beim Aufruf gibts dann eine Fehlermeldung vom aufgerufenen Programm, die auf ein Problem mit den Leerzeichen im Parameter hindeutet, so als ob 1PW beim Aufruf die Anführungszeichen entfernt hat. Das aktuelle Problem habe ich jetzt so gelöst, in dem ich das Verbindungsziel umbenannt habe (da ist es dann auch egal ob der Parameter in Anführungszeichen steht oder nicht). Beim ersten Mal ging das nicht und ich weiß jetzt leider auch nicht mehr, wie ich das damals umgangen hatte.
Heiko Schröder
Site Admin
Beiträge: 2457
Registriert: Sonntag, 01. Mai 2005 - 14:55 Uhr
Wohnort: Leipzig
Kontaktdaten:

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von Heiko Schröder »

Vielen Dank für die Hinweise.
"C:\Program Files (x86)\WinSCP\WinSCP.exe" "Strato HiDrive 1000" /Desktop /UploadIfAny
Hier gibt es tatsächlich einen Fehler. 1PW löst "Strato HiDrive 1000" in drei Parameter auf und ignoriert den hinteren Rest. :shock: Hier muss ich nacharbeiten. Abhilfe schafft hier tatsächlich vorerst das Umgehen der Anführungszeichen im Parameter.
"C:\Windows\System32\bash.exe" -c "sshpass -p {PASSWORD} ssh {USERNAME}@[SSH-SERVER]"
Hier wird im Eingabebereich vor dem Ausführen des Aufrufs der Aufrufparameter eingeblendet. Und hier ist ersichtlich, dass ebenfalls die Anführungszeichen entfernt werden und der Parameter -c nicht auftaucht. :oops: Auch hier muss ich nacharbeiten. :roll:
Heiko Schröder Softwareentwicklung
Passwortverwaltung 1PW für Windows, Android und iOS
Heiko Schröder
Site Admin
Beiträge: 2457
Registriert: Sonntag, 01. Mai 2005 - 14:55 Uhr
Wohnort: Leipzig
Kontaktdaten:

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von Heiko Schröder »

Hallo,

ich habe das Problem gefunden und gelöst.
Ab sofort steht die Version 8.67 zum Download bereit, mit der jetzt auch die in "" gesetzte Parameterübergabe an die Programme funktioniert.
Heiko Schröder Softwareentwicklung
Passwortverwaltung 1PW für Windows, Android und iOS
Thomas
Beiträge: 150
Registriert: Sonntag, 23. April 2006 - 16:00 Uhr

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von Thomas »

Danke, funktioniert hier jetzt.
@ndre
Beiträge: 18
Registriert: Freitag, 25. Juli 2014 - 14:58 Uhr

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von @ndre »

Hallo,
ich bitte meine, wirklich späte, Reaktion zu entschuldigen.

Der Parameter "-a" hat leider auch nichts gebracht.
Das Ergebnis ist das gleiche, wie bereits von mir beschrieben.
Ich werde morgen die neue Version testen.

@ndré
Zuletzt geändert von @ndre am Donnerstag, 28. Dezember 2017 - 1:31 Uhr, insgesamt 1-mal geändert.
@ndre
Beiträge: 18
Registriert: Freitag, 25. Juli 2014 - 14:58 Uhr

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von @ndre »

Hallo,

leider ist auch mit der jetzt verfügbaren Version ist ein Aufruf nicht möglich.
Ich haben nachfolgende Varianten durchgespielt und dabei festgestellt das...
  1. alle aufgeführten Pfade sind als direkte Verknüpfung startbar
  2. alle aufgeführten Pfade sind über "Win+R > Ausführen" startbar
  3. wird der Parameter "-a" anstatt "-c" verwendet, schließt sich das sich öffnende Fenster wieder selbstständig
Aufruf 1

Code: Alles auswählen

"C:\Windows\System32\cmd.exe" /K ""C:\Windows\System32\bash.exe" -c "sshpass -p {PASSWORD} ssh {USERNAME}@[SSH-SERVER]""

oder

"C:\Windows\System32\cmd.exe" /K ""C:\Windows\System32\bash.exe" -c 'sshpass -p {PASSWORD} ssh {USERNAME}@[SSH-SERVER]'"
Wird dieser Command über 1PW aufgerufen, öffnet sich die CMD im Verzeichnis, in dem die DB abgelegt ist.
Die Pfadtiefe spielt dabei keine Rolle und kann beliebig verschachtelt sein.

Code: Alles auswählen

Der Befehl ""C:\Windows\System32\bash.exe"" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Pfad\zur\DB\1pw>
Aufruf 2

Code: Alles auswählen

"C:\Windows\System32\bash.exe" -c "sshpass -p {PASSWORD} ssh {USERNAME}@[SSH-SERVER]"
Es öffnet sich kein Fenster; weder verdeckt noch offen; ebenso konnte ich konnte im Taskmanager auch offenen keinen Prozess sehen.
Weder einen CMD.EXE noch einen BASH.EXE Task.

Ich hoffe das hilft bei der Suche.

Gruß @ndré
Heiko Schröder
Site Admin
Beiträge: 2457
Registriert: Sonntag, 01. Mai 2005 - 14:55 Uhr
Wohnort: Leipzig
Kontaktdaten:

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von Heiko Schröder »

Hallo,

stellen Sie bitte sicher, dass auch die Version 8.67 läuft (in der Titelzeile sollte 8.67 stehen).

Versuchen Sie es einmal bitte mit

Code: Alles auswählen

"C:\Windows\System32\cmd.exe" /K "C:\Windows\System32\bash.exe" -c "sshpass -p {PASSWORD} ssh {USERNAME}@[SSH-SERVER]"
Das Problem ist sonst, dass die äußeren Anführungszeichen (nach /K und am Ende) dazu führen, dass der komplette String übergeben wird und zu einem falschen Ergebnis führt. In meiner Variante werden nämlich die einzelnen Segmente korrekt übergeben:

Code: Alles auswählen

/K
C:\Windows\System32\bash.exe
-c
sshpass -p {PASSWORD} ssh {USERNAME}@[SSH-SERVER]
Ihre Variante hätte als Ergebnis

Code: Alles auswählen

/K
C:\Windows\System32\bash.exe -c sshpass
-p
{PASSWORD}
ssh
{USERNAME}@[SSH-SERVER]
und das wäre falsch.
Heiko Schröder Softwareentwicklung
Passwortverwaltung 1PW für Windows, Android und iOS
@ndre
Beiträge: 18
Registriert: Freitag, 25. Juli 2014 - 14:58 Uhr

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von @ndre »

Hallo Herr Schröder,

ich habe die aktuell verfügbare Version 8.67 gestern herunter geladen und installiert.

Der angegebene Command kann nicht funktionieren.

Code: Alles auswählen

"C:\Windows\System32\cmd.exe" /K "C:\Windows\System32\bash.exe" -c "sshpass -p {PASSWORD} ssh {USERNAME}@[SSH-SERVER]"
sshpass wird als separates Tool unter Linux installiert um Passwörter per ssh übergeben zu können. Standardmäßig ist dieses per ssh nicht möglich.
So wie es hier aufgeführt wird, wird es nicht als zusammenhängender String verarbeitet; es fehlt die Zusammenführung des gesamten Commands mittels der äusseren "".

Code: Alles auswählen

"C:\Windows\System32\bash.exe" -c "sshpass -p {PASSWORD} ssh {USERNAME}@[SSH-SERVER]"
Ich habe jetzt diverse Varianten am "Zusammenbau" des Commands versucht und nur dieses hier aufgeführten haben beim Aufruf das gewünschte Ergebnis gebracht.
  1. "C:\Windows\System32\cmd.exe" /K "C:\Windows\System32\bash.exe -c "sshpass -p{PASSWORD} ssh {USERNAME}@[SSH-SERVER]""
  2. "C:\Windows\System32\cmd.exe" /K "C:\Windows\System32\bash.exe -c "sshpass -p {PASSWORD} ssh {USERNAME}@[SSH-SERVER]""
So wie ich das verstehe, werden beim bash-Command die angegebene Parameter vollständig als ein String übergeben.


Eventuell hängt es ja damit zusammen, dass auch der Command

Code: Alles auswählen

"C:\Windows\System32\cmd.exe" /K "C:\Windows\System32\bash.exe"
nicht korrekt aufgerufen wird.

Wird dieser Command über 1PW aufgerufen, öffnet sich die CMD im Verzeichnis, in dem die DB abgelegt ist.
Die Pfadtiefe spielt dabei keine Rolle und kann beliebig verschachtelt sein.

Code: Alles auswählen

Der Befehl "C:\Windows\System32\bash.exe" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Pfad\zur\DB\1pw>
Eventuell gibt es generell Probleme bein Zusammenspiel "Windows Command rufen Linux Commands" auf.
Was mich halt nur wundert ist, dass eine direkt angelegte Verknüpfung der CMD problemlos funktioniert.
@ndre
Beiträge: 18
Registriert: Freitag, 25. Juli 2014 - 14:58 Uhr

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von @ndre »

Hallo Herr Schröder,
ist hier eine Behebung des "Bugs" in Sicht?

Gruß @ndré
Heiko Schröder
Site Admin
Beiträge: 2457
Registriert: Sonntag, 01. Mai 2005 - 14:55 Uhr
Wohnort: Leipzig
Kontaktdaten:

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von Heiko Schröder »

Hallo,

aktuell arbeite ich verstärkt an einem andere Projekt und finde daher keine Zeit mich aktuell mit 1PW zu beschäftigen.
Zumal ich für diesen "Bug" mir erst einmal die Bash installieren muss.
Heiko Schröder Softwareentwicklung
Passwortverwaltung 1PW für Windows, Android und iOS
Thomas
Beiträge: 150
Registriert: Sonntag, 23. April 2006 - 16:00 Uhr

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von Thomas »

@ndre welches Windows benutzt du? Vorallem 32bit oder 64bit?

Edit: Steht ja schon im Thementitel. Nur ob 32 o. 64bit bleibt noch offen.
@ndre
Beiträge: 18
Registriert: Freitag, 25. Juli 2014 - 14:58 Uhr

Re: Win10 und Bash-Command ausführen > kein Aufruf

Beitrag von @ndre »

Thomas hat geschrieben:@ndre welches Windows benutzt du? Vorallem 32bit oder 64bit?

Edit: Steht ja schon im Thementitel. Nur ob 32 o. 64bit bleibt noch offen.
@Thomas, nachfolgendes kommt zu Einsatz
  • Windows 10 Version 1709 (Build 16299.214) x64
  • integriertes Linux im Windows > Ubuntu 16.04.3 LTS
  • 1PW Passwortverwaltung Version 8.67 [137.975] vom 05.12.2017
Antworten