首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Windows Emacs shell/shell无法执行ack perl脚本(区域设置错误)

Windows Emacs shell/shell无法执行ack perl脚本(区域设置错误)
EN

Stack Overflow用户
提问于 2013-01-12 01:59:07
回答 1查看 465关注 0票数 2

在常规cmd.exe或cygwin termal上键入此命令会得到预期的结果:

$ ack hello

(我在PATH中有执行ack.pl的ack.bat )

然而,当我在Emacs中的shell或eshell中运行相同的命令时,它给出了这个错误:

c:\Users\Martin>"C:\cygwin\bin\perl" /cygdrive/c/Users/Martin/Desktop/ack.pl hello 
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LC_ALL = (unset),
    LANG = "ENU"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

我试图通过将SETENV的两个变量都设置为en_US.UTF-8来修复它,但是当我再次运行它时,它没有给我任何结果,只是冻结了。

更新:我终于找到了这个问题的解决方案。我所需要的就是将< NUL添加到命令的末尾,因为它会将Linux style NULL设备解析为默认设备。

现在,如果我键入以下内容:

ack hello < NUL

它会给出我所期望的结果。

EN

回答 1

Stack Overflow用户

发布于 2019-06-27 08:55:12

这个问题与ack本身无关,但是,这是编写Ack的语言pearl。perl报告的是您运行emacs的环境没有设置locale设置。将以下代码行添加到运行emacs的任何环境中:

export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

注意:运行ack hello < NUL只会掩盖问题,并不能解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14283977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档