WSLでssh-agentを重複起動させないためのzshrc

WSLでssh-agentを重複しないように起動させようとすると結構面倒ですが、こんな感じのスクリプトをzshrcやbashrcに入れるといい感じになります

if [ $(ps aux | grep ssh-agent | grep -v grep | wc -l) -eq 0 ]; then
    rm -f /tmp/ssh-agent.sock
    eval $(ssh-agent -a /tmp/ssh-agent.sock) &> /dev/null
    ssh-add ~/.ssh/id_ed25519  &> /dev/null
else
    export SSH_AUTH_SOCK=/tmp/ssh-agent.sock;
    export SSH_AGENT_PID=$(pidof ssh-agent);
fi