shell script (bash) trace kimenet fájlba irányítása

Fórumok

Sziasztok!
Van arra unix shell szkriptben lehetőség (elsősorban a bash érdekel), hogy a "set -x" -- vagy valami hasonló, ha van -- trace kimenetét fájlba irányítsa az ember?
Azaz, lehetőleg minél kevesebb szkriptbeli módosítással hogyan lehet ezt megtenni?

- Legjobb talán az lenne, ha a "set -x"-nek lenne még egy paramétere, hogy mi legyen a trace fájl.
Ilyen tudtommal nincs.

- A kevésbé jó megoldás szerintem, hogy kívülről az stderr-t fájlba irányítjuk (talán még szűrni is lehetne a $PS4 kezdetű sorokra).

- Sok módosításnak tűnik, hogy minden parancsot egy saját függvényen keresztül hívnánk meg, ami log-olja a parancsot, majd végre is hajtja azt.

Egyéb ötlet, infó?
Köszi!

Hozzászólások

Most találtam egy hasznosat (bash-ban működik):

Pl.:
exec 1>>.trc
exec 2>>.trc


cat ./test_setx_new.sh && echo "1" && ./test_setx_new.sh && echo "2" && cat .trc
#!/usr/bin/bash
rm .trc
exec 1>>.trc
exec 2>>.trc
set -x
echo "This"
echo "This, too" >&2
echo "And this, too"
1
2
+ echo This
This
+ echo 'This, too'
This, too
+ echo 'And this, too'
And this, too