请教如何才能把含有 sudo ssh的多行命令写到一个sh脚本里执行

snowman1101 2020-08-03 10:19:55
想要输入的命令如下

sudo su admin
ssh 192.168.0.5
sudo su user1
tail -1000 /tmp/<MM>/<dd>.log
exit
exit
exit


上面的MMdd是当天的日期,我想通过以下命令执行sh脚本
./log.sh MM dd
非常感谢!
...全文
2872 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowman1101 2020-08-04
  • 打赏
  • 举报
回复
另外 spawn ssh $user@$ip 这里不能直接使用 $user账号ssh 必须 ssh登录后 执行 sudo su $user
snowman1101 2020-08-04
  • 打赏
  • 举报
回复
感谢回复, 我自己想在你这个基础上加上 sudo su admin这行命令,不过没有成功。 能麻烦把这个也加上吗?
mouse_zhu 2020-08-03
  • 打赏
  • 举报
回复

#!/bin/bash 
ip=10.10.1.145  
user=test 
password=1 

expect <<EOF  
set timeout 10 
spawn ssh $user@$ip 
expect { 
        "yes/no" { send "yes\n";exp_continue } 
        "password" { send "$password\n" }
}
expect "from" { send "tail -1000 > /tmp/$1/$2.log\n" } 
expect eof
EOF

差不多这样吧

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧