Come si esegue un comando in iTerm quando si lancia?
Domanda
Sto lavorando sulla configurazione l'emulatore di terminale iTerm per il Mac per fare quello che voglio. A quanto pare tutto è fatto attraverso ciò che chiamano "segnalibri". Ok bene. Sto cercando di creare un segnalibro che si aprirà una scheda, cd per un certo progetto Rails, ed eseguire il comando script/server
. Quello che dovrebbe accadere è che questo lancerà il demone del server ( "ibrido") e vedrò l'uscita di scorrimento per ogni volta che guardo quella scheda.
Nella finestra di configurazione, alla voce "comando" Ho messo script/server
e sotto "dir di lavoro" Ho messo la directory del progetto.
Succede che la scheda viene visualizzata per 1 / 10th di secondo svanisce poi.
Ricordando un problema simile ho avuto con il comando screen Unix, ho provato a mettere un "comando" del bash -c 'script/server'
ma il risultato è stato identico.
Soluzione
Si sta eseguendo in quel problema perché lo script viene eseguito e quindi termina. Tutto quello che dovete fare è mettere un read
o qualcosa di altrettanto sofisticato per dire "Premere un tasto per completare lo script e chiudere la finestra ...." alla fine dello script.
update
ho scritto questo script di test:
$ cat echoscript
#!/bin/bash
echo "Hello world"
read text
$
Ho creato un segnalibro in modo:
name: test
command: /Users/chasrmartin/echoscript
Working directory: /Users/chasrmartin
Quando apro il test
segnalibro, vedo il mio "Ciao mondo", e si aspetta fino a quando ho tipo di ritorno. Quando ho tipo di ritorno, va via.