2017-08-22 18 views
0

から "ソース" VsDevCmd.batのでVsDevCmd.batは、Visual Studioツールのための環境変数を設定し、気の利いたスクリプトです:Cygwinの

「C:\プログラムファイル(x86の)\のMicrosoft Visual Studioの14.0 \ Common7 \ツール\ VsDevCmd .bat '

私はCygwinのVisual Studioツールcl,linkなどを使用しています。このスクリプトを使用して、bashでスクリプトを再作成せずに同じ環境変数を設定するにはどうすればよいですか?

cmdシェルからバッチスクリプトを実行してからbashを起動できますが、これは不満足です。Cygwinからバッチファイルを「調達する」プロセスを開始する必要があります。

答えて

0

あなたが必要とするのはパスだけです。 DOSから

実行VsDevCmd.bat、ファイルに、パイプうちSET(SET > c:\temp\set.txt

そのファイルからパスを抽出し、Linuxの形式に変換 - C:\Program Files/cygdrive/c/Program Filesになり、\すべてが/なります。 ;:に置き換えてください。

"$ {HOME}/.bashrc"ファイルを編集してください。上記をPATHに追加してください。元のパスの末尾に:を追加することを忘れないでください。

"$ {HOME} /。bashrc"に次のように表示されますが、自己責任でコピーしてください。

輸出PATH = "/ C/binに:は/ usr/local/binにします。/ usr/binに:/ cygdriveの/ C /プログラムファイル/マイクロソフトのVisual Studio/2017 /プロフェッショナル/ VC /ツール/ MSVC/14.11/cygdrive/c:/ Program Files/Microsoft SDKs/TypeScript/2.3:/ cygdrive/bin/HostX86/x86:/ cygdrive/c /プログラムファイル/ Microsoft Visual Studio/2017/Professional/Common7/IDE/VC/VCPackages:/c/Program Files/Microsoft Visual Studio/2017/Professional/Common7/IDE/CommonExtensions/Microsoft/TestWindow:/ cygdrive/c/Program Files/Microsoft Visual Studio/2017/Professional/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation /チームエクスプローラ:/ cygdrive/c /プログラムファイル/ Microsoft Visual Studio/2017/Professional/MSBuild/15.0/bin/Roslyn:/ cygdrive/c/Program Files/Microsoft Visual Studio/2017/Professional/Team Tools/cygdrive/c /プログラムファイル/ HTMLヘルプワークショップ:/ cygdrive/c/Program Files/Mic Visual Studio/2017/Professional/Common7/IDE/Visual Studio/2017/Professional // MSBuild/15.0/bin:C:/Windows/Microsoft.NET/Framework/v4.0.30319:/ cygdrive/c/:/ cygdrive/c/Program Files/Microsoft Visual Studio/2017/Professional/Common7/Tools /:/ cygdrive/c/Program Files/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.11.25503/bin/HostX86/x86:/ cygdrive/c /プログラムファイル/ Microsoft Visual Studio/2017/Professional/Common7/IDE/VC/VCPackages:/ cygdrive/c /プログラムファイル/ Microsoft SDK/TypeScript/2.3:/ cygdrive/c/Program Files/Microsoft Visual Studio/2017/Professional/Common7/IDE/CommonExtensions/Microsoft/TestWindow:/ cygdrive/c /プログラムファイル/ Microsoft Visual Studio/2017/Professional/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation /チームエクスプローラ:/ cygdrive/c /プログラムファイル/ Microsoft Visual Studio/2017/Professional/MSBuild/15.0/bin/Roslyn:/ cygdrive/c/Program Files/Microsoft Visual Studio/2017/Professional/Team Tools /パフォーマンスツール:/ cygdrive/c/Programファイル/ HTMLヘルプワークショップ:/ cygdrive/c /プログラムファイル/ Microsoft Visual Studio/2017/Professional // MSBuild/15.0/bin:C:/Windows/Microsoft.NET/Framework/v4.0.30319:/ cygdrive/c/Program Files/Microsoft Visual Studio/2017/Professional/Common7/IDE /:/ cygdrive/c /プログラムファイル/ Microsoft Visual Studio/2017/Professional/Common7/Tools /:/ cygdrive/c /プログラムファイル/ Windowsキット/ 8.0/bin/x86:/cygdrive/c/Program Files/Microsoft SDK/F#/ 3.0/Framework/v4.0 /:C:/Windows/Microsoft.NET/Framework/v4.0。30319:/ cygdriveの/ C /プログラムファイル/ CMakeの/ binに:$ PATH:$のHOME/binに」

0

は、ここで私がなってしまったものだ。このbashの関数意志は、ネストされたbash意志、VcVarsAll.batファイルでcmdを走りました。

# Given envar names return their newline-separated values setup for VS2015 
# 
# VcVarsAll.bat is a script that sets up environment variables for Visual 
# Studio command-line builds: 
# 
# https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx 
# 
query_vcvarsall() { 
    local envars=$* 

    (cd '/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC' && 
    cmd /c "VcVarsAll.bat amd64 && c:/cygwin/bin/bash -c 'printenv $envars'") 
} 

がセット、例えば、PATH

export PATH="$(query_vcvarsall PATH)" 
抽出することができる環境変数を、印刷するために