我正在尝试编写一个BASH脚本,该脚本将执行以下操作
我知道可以通过执行ssh server "cmds"
来完成第1步和第2步,但这对第3步无效,因为它不显示正在发生的事情。
我该如何实现?
答案 0 :(得分:1)
这对您不起作用吗?:
ssh -t user@server "cd /folder/; nano somefile; execute_a_command_once_nano_is_closed"
nano
或joe
或vi
或vim
是通过控制台工作的文本编辑器,您可以与它们进行交互
如果可以或想要自动进行编辑,则可以使用sed
或awk
进行文件的编辑/操作,而完全不使用交互式编辑器。
答案 1 :(得分:0)
您可以尝试:
ssh root@<your_server> "sed -i 's/cat/dog/g' /tmp/test_file"
来自: 猫/ tmp / test_file #这是一个测试文件,将被编辑 猫
至: 猫/ tmp / test_file #这是一个测试文件,将被编辑 狗
注意:我建议您设置ssh无密码,这样,无论您执行ssh命令还是希望查看ansible,您都不会输入密码