Kirjoittaja Aihe: syötteen käsittely bash  (Luettu 1262 kertaa)

jussi_pekka

  • Käyttäjä
  • Viestejä: 2
    • Profiili
syötteen käsittely bash
« : 16.11.09 - klo:20.13 »
Olen tuota c-kieltä opetellut. Nyt kuitenkin on ongelma joka ei aukea ilman kokeneempien apua. Tarkoitus olisi saada bash vastaanottamaan vain yhden merkin ilman enterin painallusta. Tähän lienee optio olemassa mutta miten tämä toiminta sisällytetään ohjelmaan?  Bashin toiminta muutetaan hetkeksi ja palautetaan entiset asetukset ohjelman päätyttyä. Olen ymmärtänyt tämän tämän olevan ainakin Unix tapa. Entä miten Ubuntussa tämä hoituu?

mikko_h

  • Käyttäjä
  • Viestejä: 202
    • Profiili
Vs: syötteen käsittely bash
« Vastaus #1 : 16.11.09 - klo:22.23 »
Bashin sisäänrakennetussa komennossa read on option -n, jolla voi määrätä luettavien merkkien määrän. Siis skriptiin voi laittaa esim.

read -n 1 reply

echo $reply


Tuo read ottaa vain yhden merkin (oletuksena olevan rivin asemesta) ja skriptin suoritus jatkuu siitä.

Tämä on siis nimenomaan bashin built-in, eli toiminnasta muissa Bourne-tyyppissä shelleissä ei ole takeita.
« Viimeksi muokattu: 16.11.09 - klo:22.31 kirjoittanut mikko_h »