perl から シェルを実行したいときは system か `` (qx//) で代替済むのですが、それらから呼び出すのが素のsh でどうしても実行環境のzshrc を読み込んだ上でzsh を実行したいことが出てきた。 でも `zsh hoge`; とか system("zsh && hoge"); やってもダメなんですよね。 んで、良い方法も特に思い浮かばなくてローカルに鍵通して `ssh localhost -t "hoge"` にした。 ログインシェルがzsh なので zsh で実行されるし、source .zshrc や source .zprofile すればパスとかも通る。 やったこと、まとめ `qq{ssh localhost -t "source .zprofile; source .zshrc; cd ~/path/to/;hoge --option"}` え?最初から