Czy jest jakiś sposób, aby uzyskać bash w trybie gadatliwym, w którym, gdy działa skrypt powłoki, wypowiada polecenie, które będzie uruchamiane przed uruchomieniem? Oznacza to, że można zobaczyć polecenia, które zostały uruchomione (a także ich wyjście), podobnie jak dane wyjściowe z make
?Komenda Echo, a następnie uruchom? (Jak make)
Oznacza to, że jeśli działa skrypt jak
echo "Hello, World"
chciałbym następujący wynik
echo "Hello, World"
Hello, World
Alternatywnie, możliwe jest, aby napisać funkcję bash nazwie echo_and_run
że wyświetli polecenie a następnie uruchomić?
$ echo_and_run echo "Hello, World"
echo "Hello, World"
Hello, World
+1, a także, jeśli to nie jest oczywiste, 'set -x' można również przejść w skorupach skrypty i będzie trwał na całej długości skryptu. – jedwards
To wydaje się być najlepszym, najbardziej niezawodnym podejściem. (A także działa z przekierowaniem, na które byłem przygotowany, aby się nie przejmować, chociaż miło jest mieć.) Jedyny problem to polecenia 'set + x' pojawiające się również w danych wyjściowych ... Również odkryłem: [Chcę dziennik działań mojego skryptu] (http://mywiki.wooledge.org/BashFAQ/050). – mjs
@mjs: Jeśli chcesz, aby komenda brzmiała dla całego środowiska wykonawczego twojego skryptu, możesz uruchomić go przez 'bash -x' (który włącza' set -x' niejawnie i nie wyprowadza go). –