Code: Alles auswählen
$ Fsetv () { set -v; echo $-; uname; set +v;}
$ Fsetv
himvBHs
Linux
PS: Ich spreche nicht von 'set -x'.
(z.B. 'ls **/*.c')
Code: Alles auswählen
$ Fsetv () { set -v; echo $-; uname; set +v;}
$ Fsetv
himvBHs
Linux
Weder noch, würde ich sagen. Set -v gibt die entsprechenden Zeilen aus, wenn sie gelesen werden, nicht wenn sie ausgeführt werden. Durch die Definition der Funktion wird der Inhalt der Funktion, der Shell, bekannt gemacht. Da der Funktionsinhalt also fortan bekannt ist, muss er damit auch nicht jedesmal neu eingelesen werden, bevor er ausgeführt wird. Das wäre meine (editierte) Erkärung...linuxCowboy hat geschrieben:14.02.2022 13:10:05Entweder ist das ein Bug oder es wurde expliziet deaktiviert.
Code: Alles auswählen
echo '/expression/g' '*.c *.h'
perl -nE 'say "$ARGV: [$1] $2" if /expression/g' *.c *.h