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
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 killocodice:#!/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 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![]()