如何通过ssh向远程shell创建$ 1和$ 2变量。以下是样本,
#!/bin/bash
user_name="${1}"
shift
user_password="${1}"
shift
tenant_name="${1}"
realscript="/IDM_ARTIFACTS/reset.sh"
ssh -qT oracle@slc05pzz.us.oracle.com bash -c "'echo $user_name'" < "$realscript"
我能够回显$ user_name但无法在$ realscript中访问它。 无法使用HERE标签或单引号拨打电话&#39;&#39;因为脚本没有直接的命令。 我还有其他选择吗?请帮忙
答案 0 :(得分:0)
我没有你的脚本,所以我在远程主机上放了一个测试:
$ 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
引用有点奇怪,但你可以传入带空格的参数变量。