`.zshrc`をデバッグするには、`set -x`を使用してください。

`.zshrc`をデバッグするには、`set -x`を使用してください。

set -xデバッグコマンドを使用すると、いくつかの追加行が出力されます。

% set -x
+precmd_update_git_vars:1> [ -n '' ']'
+precmd_update_git_vars:1> [ '!' -n '' ']'
+precmd_update_git_vars:2> update_current_git_vars
+update_current_git_vars:1> unset __CURRENT_GIT_STATUS
+update_current_git_vars:3> [[ python == python ]]
+update_current_git_vars:4> _GIT_STATUS=+update_current_git_vars:4> python /home/ismail/zshfiles/gitstatus.py
+update_current_git_vars:4> _GIT_STATUS='' 
+update_current_git_vars:6> __CURRENT_GIT_STATUS=( '' ) 
+update_current_git_vars:7> GIT_BRANCH='' 
+update_current_git_vars:8> GIT_AHEAD='' 
+update_current_git_vars:9> GIT_BEHIND='' 
+update_current_git_vars:10> GIT_STAGED='' 
+update_current_git_vars:11> GIT_CONFLICTS='' 
+update_current_git_vars:12> GIT_CHANGED='' 
+update_current_git_vars:13> GIT_UNTRACKED='' 
+precmd_update_git_vars:3> unset __EXECUTED_GIT_COMMAND

これらの出力により、コマンドをデバッグできません。

なぜset -x私をデバッグするのですか.zshrc?私は後でset -x行をデバッグしたいと思いますset -x

ベストアンサー1

デバッグを試みる場合スクリプトset -x、端末で使用しないでください(つまり、端末で実行されるシェルのデバッグ)。ソルバーオプションを使用してスクリプトを起動できます-x(例zsh -x <scriptname> [<args>]:)。

たとえば、というzshスクリプトがある場合は、ex.zsh次のようにします。

$ cat /tmp/ex.zsh
#!/bin/zsh

function () {
    echo "Hello, world!"
}
$ zsh -x /tmp/ex.zsh
+/tmp/ex.zsh:3> '(anon)'
+(anon):1> echo 'Hello, world!'
Hello, world!

おすすめ記事