やり方
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"
注意点
コメントでも記載したように、ディレクトリのパスに~
が使えません。というもの、$()
でコマンドを包括する際に、~
をリモートではなくローカル側のパスに変換してしまうようです。
このあたりをスマートにできればいいんですが、気力が尽きました。