Esistono termini o classificazioni che descrivono il tipo di programma della riga di comando che stai scrivendo?

3

Ci sono termini che vengono usati per descrivere che tipo di programma da riga di comando si sta programmando in base a come il programma è progettato per interagire con l'utente?

Ad esempio, posso scrivere un programma che

a.) viene richiamato dalla riga di comando con parametri facoltativi, viene eseguito e quindi restituisce immediatamente il controllo alla shell. (i.e ls)

b.) viene richiamato e quindi attende che l'utente prenda determinate decisioni come parte di un flusso di lavoro, prima di continuare l'esecuzione e uscire. (ad esempio ssh-keygen)

c.) viene invocato e quindi inizia a mimare una shell, aspettandosi che l'utente digiti i comandi da eseguire e abbia una chiamata di uscita separata per tornare alla shell (cioè mysql, NodeJS o REPL Python)

d.) prende completamente il controllo della finestra, imita un'applicazione e non lascia una cronologia dei comandi nella shell (cioè vim)

Storicamente, gli sviluppatori di software hanno trovato i termini per classificare questi tipi di programmi o sono stati tutti raggruppati come "interfacce della riga di comando"?

Aggiornamento:
Sulla base del commento di scriptin su questo potenzialmente più sulle proprietà del software piuttosto che sulla classificazione generale, ecco un altro modo per esprimere questa domanda -

Dire che sto scrivendo un set di tutorial per insegnare a uno studente un linguaggio di programmazione o di scripting, partendo da un esempio di "Hello world" a un'applicazione completamente utile e i casi sopra descritti sono trattati come tutorial separati. Ci sono dei termini non soggettivi per descrivere i concetti, le caratteristiche e i comportamenti che sto chiedendo allo studente di imparare come programmare in ciascuno dei casi? In altre parole, quale sarebbe il titolo di quei tutorial?

    
posta Ryan Jarvis 19.04.2016 - 00:57
fonte

2 risposte

4
  1. Comando non interattivo
  2. Comando interattivo
  3. REPL
  4. Finestre / screen application

Non ho una fonte per questo; solo anni di ascolto li hanno chiamati allo stesso modo. Vedrò se riesco a trovare una fonte autorevole.

    
risposta data 19.04.2016 - 05:48
fonte
2

Shell, script o applicazione ci sono due diverse classificazioni qui:

Interattivo e non interattivo

An interactive shell reads commands from user input

A shell running a script is always a non-interactive shell. All the same, the script can still access its tty. It is even possible to emulate an interactive shell in a script.

...

Let us consider an interactive script to be one that requires input from the user, usually with read statements

Advanced Bash-Scripting Guide: 36.1. Interactive and non-interactive shells and scripts

Cosa varia in modo interattivo la shell, lo script o l'applicazione. Si consideri, MS Windows è davvero una shell interattiva. Quindi questo non è limitato alla riga di comando.

a È davvero l'unico caso non interattivo. b-d sono interattivi ma possono essere resi non interattivi alimentando loro l'input reindirizzato. Quindi tecnicamente, tutto ciò che sai quando scrivi un programma è che potrebbe essere eseguito in modo interattivo.

    
risposta data 19.04.2016 - 05:52
fonte

Leggi altre domande sui tag