web-dev-qa-db-ja.com

ディレクトリがリモートに存在するかどうかを確認します(シェルスクリプト)

リモートサーバーにディレクトリが存在するかどうかを確認する方法はありますか?

おそらくもっと良い方法がありますが、私はアプリケーション配備スクリプトを書いています。ファイルを配置するためのディレクトリが存在しない場合は、リモートサーバーにディレクトリを作成します。

前もって感謝します!

7
user31899

Sshを使用してリモートホスト上のプログラムを呼び出し、特定の条件についてtestをテストできます。

if [[ `ssh [email protected] test -d /path/to/my/directory && echo exists` ]] ; then
    # put code in here
fi
5
Rory

使うだけ

ssh remoteHost 'mkdir -p /whatever/your/dir/is'

Dirがまだ存在しない場合は作成します。

3
Kim
mkdir -p

しかし、それがあなたがまったくそうでない場合は、次のコマンドでディレクトリの存在を確認できます

ssh user@Host test -d /home && echo exists
3
ptman

独自のスクリプトで発生する問題はほぼ確実にRPMで解決されているため、独自に開発したものを作成するのではなく、RPMメカニズムを使用してアプリケーションをインストールすることを検討することをお勧めします。 RPMでの 優れたチュートリアル です。

1
gareth_bowles

このリモートサーバーとどのように通信するつもりですか? SSH、SMB、NFS、他に何かありますか?通常、これを見つける方法はありますが、これを行う方法を正確に知る前に、利用できるプロトコルと認証オプションを知っておく必要があります。

0
Chopper3