C'è un modo per ottenere bash in una sorta di modalità dettagliata dove, in modo tale che, quando sta eseguendo uno script di shell, echeggia il comando che sta per eseguire prima di eseguirlo? Cioè, in modo che sia possibile vedere i comandi che sono stati eseguiti (così come il loro output), simile all'uscita di make
?Comando echo, quindi eseguirlo? (Like make)
Cioè, se si esegue uno script di guscio, come
echo "Hello, World"
desidero il seguente output
echo "Hello, World"
Hello, World
In alternativa, è possibile scrivere una funzione bash chiamato echo_and_run
che emette un comando e poi eseguirlo?
$ echo_and_run echo "Hello, World"
echo "Hello, World"
Hello, World
+1 e anche, se non è ovvio, 'set -x' può anche andare in guscio script e dureranno per tutta la durata dello script. – jedwards
Questo sembra l'approccio migliore e più affidabile. (E funziona anche con il reindirizzamento, di cui ero preparato a non preoccuparmi, anche se è bello averlo.) L'unico problema è che i comandi "set + x" appaiono anche nell'output ... Inoltre ho scoperto questo: [Voglio un registro delle azioni del mio script] (http://mywiki.wooledge.org/BashFAQ/050). – mjs
@mjs: Se si desidera che il comando echo-ing per l'intero runtime del proprio script, è possibile eseguirlo tramite 'bash -x' (che abilita' set -x' implicitamente e non lo emette). –