simples Bespiel:
Code: Alles auswählen
#!/bin/bash
read -p "Weiter mit beliebiger Taste ..."
echo Weiter
Im Netz habe ich nichts zu dem Fehler gefunden - weiß hier jemand, wo ich suchen muss?
Code: Alles auswählen
#!/bin/bash
read -p "Weiter mit beliebiger Taste ..."
echo Weiter
Du kannst auch nichts dazu finden, weil das kein Fehler ist sondern so beabsichtigt. Wenn Du ein interaktives Shellscript via gksu direkt an die Bash übergibst, und somit an ein anderes Environment, dann wurde das Shellscript komplett via /dev/stdin eingelesen, womit /dev/stdin effektiv belegt ist. Nur das Problem was nun besteht ist, dass read darauf angewiesen ist von /dev/stdin zu lesen, und somit keine Funktion mehr hat. Was mich jedoch dabei mehr wundert ist, warum Du das Shellscript so ausführen willst, zumal read kein grafisches Programm ist.raa hat geschrieben:Im Netz habe ich nichts zu dem Fehler gefunden - weiß hier jemand, wo ich suchen muss?
Ah, klar.breakthewall hat geschrieben:Du kannst auch nichts dazu finden, weil das kein Fehler ist sondern so beabsichtigt. Wenn Du ein interaktives Shellscript via gksu direkt an die Bash übergibst, und somit an ein anderes Environment, dann wurde das Shellscript komplett via /dev/stdin eingelesen, womit /dev/stdin effektiv belegt ist. Nur das Problem was nun besteht ist, dass read darauf angewiesen ist von /dev/stdin zu lesen, und somit keine Funktion mehr hat.
Naja, das sind nun mal Scripte, die mit Root-Rechten laufen müssen, aber hin und wieder eine Usereingabe verlangen. ("Das und das ist gelaufen, Ergebnis: ... Weiter <beliebige Taste> oder Abbruch <Esc>?" - so etwa.)breakthewall hat geschrieben:Was mich jedoch dabei mehr wundert ist, warum Du das Shellscript so ausführen willst, zumal read kein grafisches Programm ist.
Wirklich komisch. Das mit dem Environment scheint mir nämlich auf den ersten Blick genau andersrum zu sein: Meine Scripte kennen "meine" Umgebungsvariablen nicht, wenn ich sie mit sudo aufrufe, mit gksu schon.raa hat geschrieben:Ah, klar.breakthewall hat geschrieben:Du kannst auch nichts dazu finden, weil das kein Fehler ist sondern so beabsichtigt. Wenn Du ein interaktives Shellscript via gksu direkt an die Bash übergibst, und somit an ein anderes Environment, dann wurde das Shellscript komplett via /dev/stdin eingelesen, womit /dev/stdin effektiv belegt ist. Nur das Problem was nun besteht ist, dass read darauf angewiesen ist von /dev/stdin zu lesen, und somit keine Funktion mehr hat.
Ich hab's jetzt mal mit sudo probiert - und da funktioniert's! Komisch - oder auch nicht?