在脚本中,我尝试从内部进行 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'