mikrocontroller.net

Forum: PC-Programmierung Raspberry PI Zeichen einlesen


Autor: RPI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte in einem Shell Skript ein Zeichen einlesen.

------------------

#!/bin/bash
read -n 1 val
echo $val

ergibt
test.sh: 2: read: illegal option -n

------------------

gebe ich auf der Console

read -n 1 val

ein, dann blockiert er bis ich ein Zeichen eingegeben habe
und gibt dieses anschließend aus. Warum funktioniert das
nicht im Shell Skript ??

Gruß

Autor: nixwasigenau (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Hab jetzt keinen raspi zur Hand, aber ist der Pfad /bin/bash korrekt ?

Autor: Tom K. (ez81)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Steht wirklich #!/bin/bash im Script und nicht vielleicht #!/bin/sh?

Letzteres ist in manchen Distributionen (welche ist auf deinem Pi?) auf 
dash statt bash verlinkt, das würde die Fehlermeldung erklären.

Autor: RPI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Raspbian Jessie
Version: May 2016
Release date: 2016-05-27
Kernel version: 4.4

Hatte bereits beide Shebangs versucht, leider beide mit gleichem 
Ergebnis

Autor: shell (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RPI schrieb:
> Raspbian Jessie
> Version: May 2016
> Release date: 2016-05-27
> Kernel version: 4.4
>
> Hatte bereits beide Shebangs versucht, leider beide mit gleichem
> Ergebnis

...die Frage lautet ja auch, welche Shell nun wirklich auf dem Pi zum 
Einsatz kommt!

Autor: Dieter D (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit folgender Option wartet read eine Sekunde und macht dann weiter wenn 
keine Eingabe erfolgte.

read -n 1 -t 1 val

http://linuxcommand.org/lc3_man_pages/readh.html

Autor: Daniel Abrecht (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie startest du das script? Das #! wird nur beachtet, wenn man es als 
Kommando oder per ./test.sh aufruft. Wenn man /sh test.sh/ eingibt wird 
test.sh immer von sh interpretiert, und bei /bash test.sh/ immer von 
bash.

Autor: Kaj (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das Script auch ausführbar?

chmod u=rwx,go= mein_script.sh

Autor: RPI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wie startest du das script? Das #! wird nur beachtet, wenn man es als
>Kommando oder per ./test.sh aufruft. Wenn man /sh test.sh/ eingibt wird
>test.sh immer von sh interpretiert, und bei /bash test.sh/ immer von
>bash.

Vielen Dank für den Hinweis, daran hatte ich nicht gedacht.
Mit ./test.sh funktioniert alles wie gewünscht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.