0

Windows 10 で msys2 の bash を使用すると、bash スクリプトで、括弧を含む Windows 環境変数、つまり '(' に変数を設定できないようです。たとえば、

p86="$PROGRAMFILES(x86)"

動作しません。env 変数を展開します$PROGRAMFILES。バックスラッシュでエスケープしようとしました。「$PROGRAMFILES\(x86\)」ですが、それは機能しません。bashでこれを回避する方法はありますか? または、展開された変数では括弧が許可されていませんか? Windows 変数はすべて、プロセス環境で使用できます。

4

2 に答える 2

1

通常${..}、変数を逆参照するために使用します。たとえば、次のようになります。

echo "${a}bc"

変数$aを出力してからリテラルを出力しbcます。

試す:

p86="${PROGRAMFILES(x86)}"

env別の方法として、変数が存在するかどうかを確認するために出力を確認する必要があります。

env | grep PROGRAM
于 2016-06-08T06:27:17.477 に答える
1

Windows コマンド プロセッサを使用します。

PFX86="$(cmd //c 'echo %ProgramFILES(x86)%')"
于 2016-06-21T06:23:56.720 に答える