GNU/Linux >> Linux Esercitazione >  >> Linux

Come segnalare la fine dell'ingresso Stdin?

  1. In Bash, ho appreso che il segnale di fine
    può essere modificato da qui
    documento. Ma per impostazione predefinita come posso
    segnalare la fine dell'input stdin?
  2. Mi è capitato di scoprire che con cat e
    chardet, i loro input stdin possono essere
    segnalati come terminati da Ctrl+d. Ma
    mi sembra di ricordare che Ctrl+d e
    Ctrl+c sono simili alla fine
    dell'esecuzione di un comando in esecuzione. Allora
    mi sbaglio?

Risposta accettata:

Ctrl+D , quando digitato all'inizio di una riga su un terminale, indica la fine dell'input. Questo non è un segnale in senso unix:quando un'applicazione sta leggendo dal terminale e l'utente preme Ctrl+D , l'applicazione viene informata che è stata raggiunta la fine del file (proprio come se stesse leggendo da un file e avesse superato l'ultimo byte).

Ctrl+C invia un segnale, SIGINT. Per impostazione predefinita SIGINT (il segnale di interruzione) uccide l'applicazione in primo piano, ma l'applicazione può catturare il segnale e reagire in un modo diverso (ad esempio, la shell stessa cattura il segnale e interrompe la riga che hai iniziato a digitare, ma non lo fa t esce, mostra un nuovo prompt e attende una nuova riga di comando).

Puoi modificare i caratteri associati a fine file e SIGINT con il stty comando, ad es. stty eof a renderebbe a il carattere di fine file e stty intr ^- disabiliterebbe il carattere SIGINT. Questo è raramente utile.


Linux
  1. Come fare in modo che Iconv sostituisca il file di input con l'output convertito?

  2. Come installare R 3.3.1 nella propria directory?

  3. I "se"?

  4. Come funzionano gli pseudo-terminali *nix? Qual è il canale master/slave?

  5. Come aprire la porta 2195 in iptables CentOS 6 per attivare l'APNS

Come digitare emoji su Linux

Come Linux è arrivato al mainframe

Come impostare il nome host Pretty

Come controllare HZ nel terminale?

Come estraggo il contenuto di un rpm?

Come scoprire la fonte di un segnale POSIX