2017-06-30 10 views
0

シェルスクリプトの作成中に奇妙なエラーが発生しました。シェルスクリプトで変数を使用しているときにsshが見つかりません

完全に罰金以下の作品...

#!/bin/sh 
if ssh [email protected] "[ -d /web ]"; then 
    echo "That directory exists!"; 
fi 

とは、エラーなしで実行されます。私は

6: test.sh: ssh: not found 

だけでも先頭に変数を設定し、ハードコーディングされた下側を残して...それだけを返す...しかし

#!/bin/sh 
USER="root" 
LOC="example.com" 
PATH="/web" 

if ssh [email protected]$LOC "[ -d $PATH ]"; then 
    echo "That directory exists!"; 
fi 

を変数を使ってみたら、それはこのエラーをスローします。

答えて

3

$PATHは、バイナリを見つけるためにローカルシェルによって使用されています。この場合、sshです。 /webに設定すると、シェルは存在しない/web/sshの位置を見つけようとします。あなたは、PATH変数に `web`は次を追加する方法を説明できる:)彼はそれを必要とする場合

remote_path="/web" 
+0

は別の変数名を使用してください。 – Stony

+0

それは意味をなさない。 – hek2mgl

関連する問題