我的球拍方案命令行在Windows Powershell中无法正常工作,我在做什么错

时间:2018-08-14 15:34:40

标签: windows powershell cmd scheme racket

除了球拍代表在Powershell中正常工作外,我什么也没得到。作为一个非常基本的示例:

PS C:\> racket -e '(display "hi\n")'
hin: undefined;
  cannot reference an identifier before its definition
    in module: top-level
    internal name: hin
PS C:\>

或者,在cmd.exe中运行类似(似乎被单引号引起了混淆):

C:\Windows\System32>racket -e "(display \"hi\n\")"
hi

C:\Windows\System32>

在Powershell中运行相同的内容

PS C:\> racket -e "(display \"hi\n\")"
string::10: read-syntax: unknown escape sequence `\)` in string

在bash.exe中运行正常:

$ racket -e '(display "hi\n")'
hi

我能做些什么使球拍在Powershell中更好地运行?

1 个答案:

答案 0 :(得分:3)

问题在于您正在Powershell中用球拍编写,这意味着您必须先将-e字符串正确解析为 ,然后再将其发送到球拍。您不会在bash中遇到这个问题,因为bash足够聪明,可以在单引号(")字符串中使用双引号(')文字。您可以使用\“轻松逃脱以在powershell中获得双引号,从而使命令成为:

$ racket -e '(display \"hi\n\")'
hi