【发布时间】:2014-04-16 08:53:53
【问题描述】:
我是 linux 脚本的新手。请帮忙。我在下面搜索了很多,但找不到合适的答案:
我正在尝试制作一个脚本,稍后将其安排为 cronjob,以便它继续在后端运行并将结果存储在文件中,例如 test.txt
脚本要点如下:
- 它通过 ssh 连接到主机,然后在该主机上运行一些命令并将结果保存在文件中。脚本成功连接到主机,但未在主机上自动运行命令。脚本如下:
#!/usr/bin/expect
spawn ssh guest@host-ip
expect "host pwd"
send "pass123\r"
interact
cd /home/target/ ... /* goes to some specific path*/
./Script.sh >> test.txt /* runs a script on host and saves the result*/
exit
所以我根据答案之一更新了我的脚本 .. 如下 -
#!/usr/bin/expect -f
spawn ssh aspen
expect "password: "
send "PASSWORD\r"
expect "$ "
send "/bin/sh /home/target/Script.sh >>test.txt"
expect "$ "
send "exit\r"
但是当我运行这个脚本时,它不会在 test.txt 上保存完整的输出第二件事是我希望这个输出文件在我自己的系统上而不是在 host 上。任何帮助都将不胜感激。
【问题讨论】:
-
我认为您需要删除“交互”,而只需删除
send其余命令。