如何调试鱼脚本?

时间:2015-12-09 20:31:32

标签: shell debugging scripting fish

你可以debug a bash script这样:

bash -x script [arg1 ...]`

问题

什么是 fish等效?

2 个答案:

答案 0 :(得分:8)

Fish使用类似的旗帜系统:

fish -d 3 script.fish

d is the debug flag followed by the verbosity level

  

-d或--debug-level = DEBUG_LEVEL指定鱼的详细程度。数字越大意味着更高的冗长度。默认级别为1.

答案 1 :(得分:3)

自从 https://github.com/fish-shell/fish-shell/issues/3427 合并后,现在

fish_trace=on script.fish

fish_trace 只是一个变量,因此您可以在函数和脚本中全局设置它或在本地​​范围内设置它

function im-still-debugging
   set -l fish_trace on
   ... etc
end

并使用

关闭它
set --erase fish_trace

从 fish 3.2 开始,fish 会忽略您设置的实际值,它只关心它是否已设置。