Để xây dựng câu trả lời của Apiman, có nhiều khả năng nói chung bạn sẽ tìm thấy PATH trong HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
thay vào đó, chứa PATH của hệ thống thay vì PATH của người dùng. Tôi cũng đã thực hiện một số chỉnh sửa bên dưới.
Run này trong môi trường Cygwin để nạp hệ thống PATH Windows (hoặc các biến môi trường khác bằng cách thay đổi var_name)
export var_name="PATH"
export $var_name="$(cygpath -pu "`reg query 'HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' /v $var_name | grep $var_name | cut -c23-`")"
Tất nhiên với các mã trên, các cửa sổ PATH sẽ thay thế PATH địa phương, làm cho bạn mất quyền truy cập vào Cygwin/bin và những người khác. Thay vào đó, bạn có thể muốn nối Windows PATH vào Cygwin PATH:
export PATH="$PATH:$(cygpath -pu "`reg query 'HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' /v PATH| grep PATH | cut -c23-`")"
Nguồn
2012-02-22 20:13:05
Cuối cùng tôi đã làm nó bằng cách sử: ** xuất khẩu $ {var_name} = "' truy vấn reg HKCU \\ Môi trường/v $ {var_name} | grep $ {var_name} | cắt -c23- | cygpath -pu '"; ** Nó không sạch nhưng nó hoạt động trong hầu hết các trường hợp. Nếu VARVALUE không phải là đường dẫn đường dẫn sẽ không thay đổi trừ khi nó trông giống như một đường dẫn nhưng nó không nên thay đổi, trong trường hợp đó nó sẽ làm mọi thứ rối loạn nhưng đó không phải là một tình huống phổ biến – aitorpazos