我试图让 PhpStormvagrant rsync
在文件更改时运行,因为内置功能rsync-auto
无法适应我的深层目录结构。我能够在 PhpStorm 设置中设置观察程序,但我不知道如何正确运行它。问题是,当我运行vagrant up
或vagrant rsync
从 Windows 命令行运行它时,我收到从错误路径到参数问题的各种错误,所以我决定在 cygwin 下运行它,现在它可以正常工作了。因此,我需要一个解决方案来从命令行运行 cygwin 并在其中执行命令。
我尝试过的:
C:/cygwin/bin/bash vagrant rsync
收到错误:
C:\Program Files\Vagrant\embedded\bin\ruby.exe: No such file or directory -- /cygdrive/c/Program Files/Vagrant/bin/../embedded/gems/gems/vagrant-1.6.5/lib/vagrant/pre-rubygems.rb (LoadError)
尝试过:
bash vagrant rsync
错误:
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [Receive
r=3.0.9]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) [sender=
3.1.1pre1]
尝试找出输出不同的原因:
C:\>where bash
C:\Program Files\Git\bin\bash.exe
所以在第二种情况下使用 msysgit。
命令:
C:\cygwin\bin\mintty -e vagrant sync
输出:无。窗口立即打开并关闭。
答案1
使用 c:\cygwin\bin\run.exe 从 Windows cmd.exe 启动 cygwin 进程
答案2
使用bash
带有--login
&-c
选项的命令从 Windows 启动 Cygwin 进程并查看输出。
IE。C:\\cygwin64\\bin\\bash --login -c 'whoami'
答案3
以下是我在 cygwin 中使用额外 PATH 启动 socat 的操作。
您也可以shell:startup
在运行中执行此操作,并将快捷方式放入启动文件夹,然后它将在您登录时自动运行
启动_socat
@echo off
rem start with extra path
cmd.exe /c "path=D:\Tools\Cygwin\bin;%path% & D:\Tools\Cygwin\bin\bash --login -c '/cygdrive/d/WebServer/start_socat.sh'"
pause