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...")
 
 
(4 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
 
   
 
   
 
   
 
   
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
    
 
    
 
   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"
 
   
 
   
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub processus_Read()
+
  Public Sub processus_Read()
 
   
 
   
 
   Dim s As String
 
   Dim s As String
Riga 26: Riga 27:
 
   Print #fl, s
 
   Print #fl, s
 
      
 
      
  '''End'''
+
  End

Versione attuale delle 09:01, 1 lug 2024

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