LoginSignup
1
0

More than 5 years have passed since last update.

【ShellScript】vagrant sshするときに同時にvagrant rsync-autoを実行するスクリプトを作成する

Last updated at Posted at 2018-06-05

【ShellScript】vagrant sshするときに同時にvagrant rsync-autoを実行するスクリプトを作成する。

表題のとおり、vagrant sshするときに、localの変更をキャッチしたらその更新をvagrantで適用するために必要な、vagrant rsync-autoをvagrant sshと同時に一つのコマンドで実行したい際にシェルスクリプトを書いたので、そちらを共有したいと思います。

コード

実際に同時に実行するシェルを書く前に、今回の内容ではvagrant sshを行うターミナルのタブもしくはウィンドウとvagrant auto-rsyncを行うタブもしくはウィンドウは別のものを使用する必要があるので、コマンドから新しいwindowを開くことができるためのシェルから記載します。

new_tab.sh
#!/bin/sh
test $# -eq 0 && set -- :
    osascript - "$(pwd)" "$@" <<\EOF
    on run args
      set dir to quoted form of (first item of args)
      set cmd_strs to {}
      repeat with cmd_str in rest of args
        set end of cmd_strs to quoted form of cmd_str
      end
      set text item delimiters to " "
      set cmd to cmd_strs as Unicode text
      tell app "Terminal" to do script "cd " & dir & " && " & cmd
    end

このスクリプトによって、コマンドラインで次のように実行することで新規タブを開くことができます。

$ ./new_tab 

では、本題である「同時にvagrant sshとvagrant auto-rsyncを別々のタブで同時実行をする」スクリプトを書いていきます。

vagrantSSH.sh
#!/bin/bash

./new_tab.sh vagrant rsync-auto
vagrant up
vagrant ssh

このスクリプトを実行することで、同時に実行することができます。
注意点としては、new_tab.shとvagrantSSH.shファイルがVagrantfileのあるディレクトリと同じディレクトリにある必要があることだけ注意してください。

実行する際には、$ ./vagrantSSHで実行することができます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0