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を入れ
reset.shスクリプトを呼び出すには? cmd-lineオプション以外の入力は必要ですか? –
'reset.sh'はリモートホスト上にありますか? – Jack
@Jackはいreset.shはリモートホスト上になければなりません – chayanika