Vagrant SSH后自动化任务

3

想知道是否有可能在vagrant ssh进入虚拟机后自动运行脚本或执行命令?我知道Ansible可以提前进行安装和设置。但它不能允许在进入机器后自动执行任务。

我目前正在创建一个文件script.sh,通过Ansible将该文件提供给vagrant。在我通过vagrant ssh进入虚拟机之后,我使用bash script.sh来运行脚本。是否有更好的方法?

欢迎提出任何建议。


1
~/.bashrc 的末尾添加 bash script.sh 命令,即执行 echo 'bash script.sh' >>~/.bashrc - heemayl
1个回答

2

有两种方法可以实现这个目标,

假设您的脚本位于vagrant主目录中,例如:

:~$/home/vagrant/test-me.sh

1) 通过ssh运行命令

1a) vagrant ssh -- -t '/home/vagrant/test-me.sh; /bin/bash'

**-OR-**

1b) vagrant ssh -c '/home/vagrant/test-me.sh; /bin/bash'

2) 在~/.bashrc文件中追加完整的脚本路径(如果您以用户vagrant登录,则该文件应位于vagrant家目录中)

:~$echo '. /home/vagrant/test-me.sh' >> ~/.bashrc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接