ssh 到服务器并切换用户,然后运行多个命令

ssh 到服务器并切换用户,然后运行多个命令

在脚本中,我尝试从内部进行 ssh,然后切换用户,然后尝试运行多个命令。

你能帮我解决这个问题吗?

下面是示例:

ssh $a@$e << EOF        
sudo su hbase << EOF    
echo "list '"$tID":.*' " | /ignio/hbase/bin/hbase shell &> ListOutput

cat ListOutput | grep "^"${tID}":" >ListOfTable

while read line; do

echo $line

tableName=`echo $line | cut -d':' -f2`

/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.Driver import $tID:$tablename hdfs:///backup/${tID}

EOF

EOF

提前致谢!

答案1

假设您配置了无密码 sudo:

ssh user@host 'sudo -u sh -c hbase "command1;command2;command3"'

最好将所有远程命令放入脚本中然后运行:

ssh user@host 'sudo -u hbase /some/script'

相关内容