やり方

USER=<Your SSH user>
IP=<Your IP>
PATH=<Your target dir path> # ~は使えない

if [ $(ssh $UESR@$IP "[ -d $PATH ];echo \$?") -eq 0 ]; then
    echo "exist"
else
    echo "nowhere"
fi

elseの処理がいらないのであれば、ワンラインで以下の方に記述もできます。

[ $(ssh $UESR@$IP "[ -d $PATH ];echo \$?") -eq 0 ] && echo "exist"

注意点

コメントでも記載したように、ディレクトリのパスに~が使えません。というもの、$()でコマンドを包括する際に、~をリモートではなくローカル側のパスに変換してしまうようです。

このあたりをスマートにできればいいんですが、気力が尽きました。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.