You are here

open으로 파이핑하려고 하는데 변수치환 규칙이 어떻게 되는건지..

open {|notepad.exe C:\Windows\win.ini}
전 이게 열려야 한다고 생각했는데, 그렇지 않더라고요.

open {|notepad.exe C:\\WINDOWS\\DtcInstall.log}
이렇게 하니까 잘 열리고요.

{}는 백슬래시를 이스케이프하지 않을 텐데 왜 이렇게 써야 하는 건가요.
set a [open {C:\Windows\win.ini}]
read $a
하면 잘 나오는데, 이런식으로 {}쿼우팅엔 일관성이 있어야 하는 것 아닌가요?

{}이 ""처럼 처리되는지 $::env(SystemRoot)를 넣어봐도
1 % set a [open {|cmd /C echo $::env(SystemRoot)\\win.ini}]
file343f0f0
2 % read $a
$::env(SystemRoot)\win.ini
변수치환은 안 되는 것 같고요. 치환 규칙을 잘 모르겠어요. 어떤 규칙이 적용되나요?