小编Bar*_*ski的帖子

管道在git中为bash返回空字符串

编辑:更新到Git for Windows> = 2.9.0.windows1后,问题已解决


放弃

一些评论指的是这个问题背后的完整"故事",但我决定缩短它,因为它太长而且难以遵循.我尽可能地向你展示简洁的失败例子.对于那些有兴趣了解问题的完整背景的人:可以在问题的先前修订版中找到它.


这是:在安装CLI附带的任何软件包之后,npm 生成basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")脚本中的第一行(不包括hashbang).由于某种原因未正确解决,这就是节点无法找到模块和崩溃的原因.我设法在最新的Git for Windows'git-bash中将问题缩小到子管道.执行:basedir

echo -n "1:"
echo "a" | cat
echo -n "2:"
echo "$(echo "a" | cat)"
echo -n "3:"
echo "$(echo "a")"
Run Code Online (Sandbox Code Playgroud)

打印:

1:a
2:
3:a
Run Code Online (Sandbox Code Playgroud)

我找不到其他人这个问题所以我认为我的环境(Windows 10 Pro,Git for Windows 2.8.4)出了问题,而且我个人认为它可能来自于它的想法.我的发现:

  • 将Git for Windows降级到2.6.4解决了这个问题.我仍然不喜欢被困在旧版本上; /
  • 它在干净的Windows 10 VM上运行良好
  • 管道输出似乎是完全空的,因为运行以下代码段不会返回任何结果.
  • 关于mingw + msys问题的干净安装不会发生

片段:

echo $(echo foobar | cat > bazzzzzzzzzz ; ) ; cat bazzzzzzzzzz
find /c …
Run Code Online (Sandbox Code Playgroud)

windows git bash shell pipe

10
推荐指数
1
解决办法
1328
查看次数

为什么使用Node.js EventEmitter而不仅仅是普通函数?

我读到的关于节点EventEmitters的每篇文章都讨论了如何创建它们.但是,我还没有看到为什么要使用它们而不仅仅是一个简单的函数的具体示例.例如,这是一本书中的一个例子,我正在阅读如何通过其构造函数在自定义对象上使用EventEmitter类.


    var util = require('util');
    var events = require('events');
    var AudioDevice = {
        play: function(track) {
            // Stub: Trigger playback through iTunes, mpg123, etc.
            console.log("playing song: " + track);
        },
        stop: function() {
            console.log("song stopped");
        }
    };

    function MusicPlayer() {
        this.playing = false;
        events.EventEmitter.call(this);
    }

    util.inherits(MusicPlayer, events.EventEmitter);

    var musicPlayer = new MusicPlayer();

    musicPlayer.on('play', function(track) {
        this.playing = true;
        AudioDevice.play(track);
    });

    musicPlayer.on('stop', function() {
        this.playing = false;
        AudioDevice.stop();
    });

    musicPlayer.emit('play', 'The Roots - The Fire');

    setTimeout(function() {
        musicPlayer.emit('stop');
    }, 1000);
Run Code Online (Sandbox Code Playgroud)

但是,以下给出了相同的结果: …

design-patterns publish-subscribe node.js

4
推荐指数
1
解决办法
718
查看次数

标签 统计

bash ×1

design-patterns ×1

git ×1

node.js ×1

pipe ×1

publish-subscribe ×1

shell ×1

windows ×1