Differenze tra le versioni di "Lanciare da un'applicazione Gambas un comando bash e far scrivere il risultato in un Terminale"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Se si intende lanciare con "Shell" un comando ''bash'' e far scrivere il suo risultato in un Terminale, si potrà porre sotto osservazione il Processo generato da "Shell" e ap...")
 
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
Se si intende lanciare con "Shell" un comando ''bash'' e far scrivere il suo risultato in un Terminale, si potrà porre sotto osservazione il Processo generato da "Shell" e aprire in scrittura il file speciale "/dev/pts" relativo al Terminale ed inviarvi i dati stringa intercettati dal Processo.  
 
Se si intende lanciare con "Shell" un comando ''bash'' e far scrivere il suo risultato in un Terminale, si potrà porre sotto osservazione il Processo generato da "Shell" e aprire in scrittura il file speciale "/dev/pts" relativo al Terminale ed inviarvi i dati stringa intercettati dal Processo.  
  
Mostriamo un esempio (si lanci prima il codice sottostante e subito dopo si apra un Terminale).
+
Mostriamo un esempio (si lanci prima il codice sottostante e subito dopo si apra un Terminale. Quindi si prema il ''Button'', posto sul ''Form'' per ottenere il risultato).
 
  Private fl As File
 
  Private fl As File
 
   
 
   
Riga 8: Riga 8:
 
    
 
    
 
   Dim pw As String
 
   Dim pw As String
 
+
   fl = Open "/dev/pts" &/ Dir("/dev/pts", "*")[0] For Write
+
<FONT Color=gray>' ''Il numero dell'indice della funzione "Dir()" deve comunque essere quello relativo al file-device "pts" del Terminale''</font>
 +
   fl = Open "/dev/pts" &/ Dir("/dev/pts", "*", gb.Device)[<FONT COLOR=#b22222>0</FONT>] For Write
 
    
 
    
   pw = InputBox("Immettere la propria password.")
+
   pw = InputBox("Immettere la propria password:")
 
   
 
   
 
   Shell "echo " & pw & " | sudo -S fdisk -l" For Read As "processus"
 
   Shell "echo " & pw & " | sudo -S fdisk -l" For Read As "processus"

Versione attuale delle 16:07, 27 ago 2022

Se si intende lanciare con "Shell" un comando bash e far scrivere il suo risultato in un Terminale, si potrà porre sotto osservazione il Processo generato da "Shell" e aprire in scrittura il file speciale "/dev/pts" relativo al Terminale ed inviarvi i dati stringa intercettati dal Processo.

Mostriamo un esempio (si lanci prima il codice sottostante e subito dopo si apra un Terminale. Quindi si prema il Button, posto sul Form per ottenere il risultato).

Private fl As File


Public Sub Button1_Click()
  
 Dim pw As String

' Il numero dell'indice della funzione "Dir()" deve comunque essere quello relativo al file-device "pts" del Terminale
 fl = Open "/dev/pts" &/ Dir("/dev/pts", "*", gb.Device)[0] For Write
 
 pw = InputBox("Immettere la propria password:")

 Shell "echo " & pw & " | sudo -S fdisk -l" For Read As "processus"

End


Public Sub processus_Read()

 Dim s As String
  
 Line Input #Last, s
  
 Print #fl, s
    
End