Come posso far sì che uno script si riavvii da solo in una finestra di Terminale se non è stato avviato in uno?
Basato su questa domanda , Ci ho provato, in un file chiamato testterm
marcato eseguibile:
#! /bin/sh
if [ -t 0 ]; # stdin
then
echo "yay! terminal!"
else
Terminal sh ~/Desktop/testterm
fi
... ma di Haiku Terminal
si apre e non mostra mai nulla, a volte si apre e se ne va immediatamente.
Dal Terminale se scrivo Terminal sh ~/Desktop/testterm
funziona una volta, aprendo un terminale con "yay! terminal!" in esso, ma poi i successivi tentativi producono Terminali vuoti.
Terminal
con un altro comando, è eseguito correttamente?
/bin/sh
. 2. Utilizzare un percorso relativo o assoluto per testterm. 3. Prova ad eseguire Terminal testterm &
da un terminale. Tutti gli emulatori di terminale con cui ho lavorato richiedono uno switch prima dell'eseguibile (ad es. xterm -e ./testterm
).
Terminal
funziona come xterm
, il file che sta cercando è la shell che deve essere eseguita. Se è così, posso pensare a una soluzione alternativa. Prova a correre Terminal sh
, usa sh
invece di bash
?
test
come probabilmente stai chiamando il sistema/usr/bin/test
.