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?
testcome probabilmente stai chiamando il sistema/usr/bin/test.