在网上搜索,我发现几乎没有证据表明perlbrew可以在cygwin上运行.我当前问题的具体细节是:
随着最新安装的cygwin(包括perl 5.14.2),我正在尝试使用从网络安装的最新perlbrew安装perl-5.14.2(不是CPAN).我刚刚将./dist/threads-shared/t/shared_attr.t...ok打印到build.log后挂起.这是在WinXP Pro 2002 SP3上.之前尝试在其他版本的cygwin(包括perl 5.10.1)上使用perlbrew也失败了,但在其他地方.
我在blogs.perl.org上发布了关于Reini Urban博客的评论,并在app-perlbrew上发布了关于github的问题/ bug,但还没有回复.
有没有希望我能在perg上建立cygwin?如果没有,我该怎么做才能解决它仍然使用perlbrew(统一我的环境,以便我的cygwin环境使用perlbrew,就像我的linux环境一样)?
在我阅读bash联机帮助页时,只应在以交互方式运行shell时执行.bashrc.该联机帮助页将交互定义为:
交互式shell是在没有非选项参数的情况下启动的,没有-c选项,其标准输入和错误都连接到终端(由isatty(3)确定),或者以-i选项开头.如果bash是交互式的,则设置PS1和$ - 包括i,允许shell脚本或启动文件测试此状态.
然而,使用ssh执行命令也会导致运行.bashrc,这与我期望的相反,因为该命令不是以交互方式运行的.所以,这种行为看起来像一个bug,但它似乎在我尝试过的Red Hat和bash的所有版本上都很普遍.有人能解释为什么这种行为是正确的吗?
还有一点:即使.bashrc运行,$-并且$PS设置好像shell是非交互式的(正如我所料).
$ grep USER /etc/passwd
USER:x:UID:GID:UNAME:/home/USER:/bin/bash
$ cat ~/.bashrc
echo bashrc:$-,$PS1
$ bash -c 'echo $-'
hBc
$ ssh localhost 'echo $-' </dev/null 2>/dev/null
USER@localhost's password:
bashrc:hBc,
hBc
$ ssh localhost 'ps -ef | grep $$' </dev/null 2>/dev/null
USER@localhost's password:
bashrc:hBc,
USER 28296 28295 0 10:04 ? 00:00:00 bash -c ps -ef | grep $$
USER 28297 28296 0 10:04 ? 00:00:00 ps -ef
USER 28298 28296 0 10:04 ? …Run Code Online (Sandbox Code Playgroud)