Salve,

io ho un piccolo problema... in pratica ho un programma shell che chiede delle domande all'utente per effettuare una registrazione di un prodotto. Io vorrei automatizzare la procedura da remoto in maniera che l'utente non si debba loggare sulla macchina e fare l'operazione a manina.

Allora ho fatto il seguente:

1) preparo un file di testo con le risposte

2) invio il comando programma_registrazione < FILE_RISPOSTE > LOG.txt

3) leggo il log e vedo se è andato tutto a posto

questa procedura funziona perfettamente se eseguita a mano sulla macchina

se invece la richiamo da remoto con un tunnel ssh, lo script si impalla e salta tutto

diciamo che io ho test.sh

codice:
#!/bin/sh

SOURCE_FILE="$1"
LOG_FILE="$2"

test "x$LOG_FILE" = x && exit 1;
test "x$SOURCE_FILE" = x && exit 1;

programma_registrazione < $SOURCE_FILE > $LOG_FILE

RESULT=`tail -1 $LOG_FILE`

echo $RESULT

exit 0;
se lo richiamo da remoto (il comando sulla macchina dovrebbe essere sh -c /root/test.sh PARAM1 PARAM2, dove al posto di param1/2 ci sono i percorsi per il file con le risposte e quello per il log) niente non funziona nulla, "programma_registrazione" resta in esecuzione e genera decine e decine di mega di log finchè non lo killo

se invece sulla macchina locale richiamo test.sh con i parametri, va alla grande

non so piu dove sbattere la testa, qualcuno ha un'idea? una domanda?

grazie