2017-06-09 18 views
0

sshを使ってリモートシェルに$ 1と$ 2変数を作る方法を教えてください。以下はサンプルですsshを介してシェルスクリプトに変数を渡す

#!/bin/bash 
user_name="${1}" 
shift 
user_password="${1}" 
shift 
tenant_name="${1}" 
realscript="/IDM_ARTIFACTS/reset.sh" 
ssh -qT [email protected] bash -c "'echo $user_name'" < "$realscript" 

私は$ user_nameをエコーすることができますが、$ realscriptにアクセスすることはできません。 スクリプトとしてHEREタグまたは一重引用符 ''を使用してカントコールを行うと、まっすぐ進むコマンドがありません。 その他のオプションはありますか?

$ realscript=/home/jack/show_params.sh 

$ second="second one" 

$ ssh TEST cat ${realscript} 
#!/bin/bash 
nParams=$# 
echo There are ${nParams} parameters. 
for ((ii=1; ii<=${nParams}; ii++)); do 
    echo "$1" 
    shift 
done 

$ ssh TEST 'bash '${realscript}' "first one" '\'${second}\' 
There are 2 parameters. 
first one 
second one 

引用は少し奇妙な取得しますが、あなたは、スペースでパラメータ変数に渡すことができます。私はあなたのスクリプトを持っていないので、私は私のリモートホスト上のテスト1を入れ

+0

reset.shスクリプトを呼び出すには? cmd-lineオプション以外の入力は必要ですか? –

+0

'reset.sh'はリモートホスト上にありますか? – Jack

+0

@Jackはいreset.shはリモートホスト上になければなりません – chayanika

答えて

0

を助けてください。

関連する問題