簡體   English   中英

SSH進入客戶機后是否繼續執行Shell腳本?

[英]Continuing shell script execution after SSHing into guest machine?

我在Windows主機上使用Vagrant和VirtualBox安裝了Ubuntu來賓盒。 我正在嘗試編寫將...的shell腳本

  1. vagrant up
  2. vagrant ssh vagrant up完成vagrant ssh
  3. 成功通過SSH進入客戶計算機后,將cd放入客戶計算機中的特定項目目錄

現在,我的vagrant_shell_script.sh文件包含以下內容:

vagrant up && vagrant ssh && echo 'cd vagrant/rails_tutorial/sample_app'

當我在Git Bash中執行它時,一切正常,直到並包括通過SSH連接到來賓計算機,但是在成功連接后,該腳本似乎停止工作並且不執行最終的cd命令。 我認為這是因為它不再能夠通過該特定的Bash實例直接與我的主機通信(如果我錯了,請糾正我)。

SSH連接成功后,是否可以通過任何方法直接將其導航到目標目錄?

如果這是一個愚蠢的問題,請原諒我-對bash腳本而言是相對較新的問題。

這解決了。 這有點hacky,但是運行

vagrant up && vagrant ssh -- -t 'cd /vagrant/rails_tutorial/sample_app; /bin/bash' vagrant up && vagrant ssh -- -t 'cd /vagrant/rails_tutorial/sample_app; /bin/bash'可以使您進入。由於某種原因,如果您不啟動shell,vagrant會不斷將您踢出局。

vagrant ssh --允許您將命令傳遞到S​​SH客戶端。 這是vagrant自己的工具。 下一個標志-t是SSH標志,它允許SSH在將控制權交還給您之前執行某些命令。 您將命令放在-t標志后面,但請確保以<last command> ; /bin/bash結尾<last command> ; /bin/bash <last command> ; /bin/bash以便它為您啟動外殼程序而不會被踢出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM