変更されたシェル機能を再ロードするのが難しい

変更されたシェル機能を再ロードするのが難しい

~/.shell/functions.sh1行でロードされるファイルに関数が定義されています。.zshrc

source ~/.shell/functions.sh

しかし、doを介して関数を変更して更新しようとすると、source ~/.zshrc新しいバージョンの関数がロードされないようです。

つまり、保存されたバッファの現在の関数は次のようになります。

pparselogs () {
    while read data; do
        echo "$data" | jq -Rr '. as $line | try fromjson catch $line'
    done
}

functionsただし、zshのcmdとdoを使用すると、functions pparselogs次のようになります。

pparselogs () {
    while read data
    do
        jq -Rr '. as $line | try fromjson catch $line' < "$data"
    done
}

コマンドラインはjq2つのバージョンで異なります。私が望むのは最初のバージョンです。

非更新機能はなぜ実行されますかsource?この問題をどのように解決できますか?

関連情報