Пытаюсь заюзать UnxUtils-овский (unxutils.sourceforge.net) шелл под виндой. Нужно получить значение ключа реестра. Трабла в том, что значенеи ключа - это путь а виндовые пути с долбанутыми слешами, автоматически ескапятся шеллом. В результате получается не путь в полная фигня, например из
D:\perl\bin получается D:\perlin при чем получается эта фигня до того, как я могу добраться до этого значения (т.е. так обрабатывается вывод команды reg). Есть ли какая нибудь директива, которая отключает обработку эксейпов на время выполнения команды?
>Пытаюсь заюзать UnxUtils-овский (unxutils.sourceforge.net) шелл под виндой. Нужно получить значение ключа реестра.
>Трабла в том, что значенеи ключа - это путь а виндовые
>пути с долбанутыми слешами, автоматически ескапятся шеллом. В результате получается не
>путь в полная фигня, например из
>D:\perl\bin получается D:\perlin при чем получается эта фигня до того, как я
>могу добраться до этого значения (т.е. так обрабатывается вывод команды reg).
>Есть ли какая нибудь директива, которая отключает обработку эксейпов на время
>выполнения команды?'\\' => '\' - это азы из любого шелла.
>'\\' => '\' - это азы из любого шелла.Хех, объясняю же - до того, как я получаю результат работы. Т.е. если даже я делаю так
reg someargs > filename
то в filename уже заэскейпенные символы
! REG.EXE VERSION 2.0HKEY_CURRENT_USER\Environment
PATH REG_SZ D:\WINXP\system32;D:\WINXP;D:\WINXP\System32\Wbem;D:\server\mysql\bin\bin;D:ygwin\usr\local\bin;D:ygwin\bin;D:ygwin\bin;D:ygwin\usr\X11R6\bin;d:\WINXP\system32;d:\WINXP;d:\WINXP\System32\Wbem;d:\server\mysql\bin;d:\WINXP;d:\WINXP\system32;d:\WINXP\System32\Wbem;d:\msvc\Common\Tools\WinNT;d:\msvc\Common\MSDev98\Bin;d:\msvc\Common\Tools;d:\msvc\VC98\bin;d:\server\UnxUtils\usr\local\wbin;d:\server\perl\bin;d:\server\UnxUtils\bin;d:\Program Files\CVSNT\был D:\cygwin а стал D:ygwin
А вот что получается если я пытаюсь получить в переменную M=`reg someargs`
! REG.EXE VERSION 2.0
HKEY_CURRENT_USER\Environment
PATH REG_SZ D:\WINXP\system32;D:\WINXP;D:\WINXP\System32\Wbem;D:\server\mysqlinin;D:ygwin\usr\localin;D:ygwinin;D:ygwinin;D:ygwin\usr\X11R6in;d:\WINXP\system32;d:\WINXP;d:\WINXP\System32\Wbem;d:\server\mysqlin;d:\WINXP;d:\WINXP\system32;d:\WINXP\System32\Wbem;d:\msvc\Common\Tools\WinNT;d:\msvc\Common\MSDev98\Bin;d:\msvc\Common\Tools;d:\msvc\VC98in;d:\server\UnxUtils\usr\local\wbin;d:\server\perlin;d:\server\UnxUtilsin;d:\Program Files\CVSNT\здесь кроме цигвина еще и все бины заескейпены