Debugging

fish shell中的 xtrace 等效項

  • July 29, 2020

是否有等效的 POSIX shellset -xset -o xtrace導致 shell 顯示在fishshell 中執行的命令?

從 fish 3.1.0 開始,該fish_trace變數使此功能可用:

> set fish_trace on; isatty; set -e fish_trace
++ source share/fish/functions/isatty.fish
++++ function isatty -d 'Tests if a file descriptor is a tty'
+ isatty
+++ set -l options h/help
+++ argparse -n isatty h/help --
+++ if
+++ set -q _flag_help
+++ end if
+++ if
+++ set -q 'argv[2]'
+++ end if
+++ set -l fd
++++ set fd 0
+++ '[' -t 0 ']'
+ set -e fish_trace

跟踪輸出的位置由--debug-outputfish 程序的選項控制。

在fish 3.1.0 之前,您可以使用fish -p some_trace_file執行fish 會話,將配置文件輸出到“some_trace_file”,可以達到幾乎相同的效果(有一些缺點 - 請參閱下面的評論)。

引用自:https://unix.stackexchange.com/questions/243337