Node.js akışlarını kullanarak parçaları bir araya nasıl aktaracağımı görüyorum, ancak bu komut dosyalarının bir kısmının uyumsuz olabileceğinden, Unix |
'u kullanarak birden çok komut dosyasını nasıl bir araya getiriyorsunuz?Node.js komut dosyalarını Unix | boru (komut satırında)?
$ ./a.js | ./b.js
Örnek:
#!/usr/bin/env node
console.log(process.argv);
Bu çıkış
(chmod 0755)
#!/usr/bin/env node
setTimeout(function(){
console.log(JSON.stringify({ foo: 'bar' }));
}, 10);
b.js (0755 chmod) a.js:
$ ./a.js | ./b.js
[ 'node', '/Users/viatropos/tests/b.js' ]
events.js:72
throw er; // Unhandled 'error' event
^
Error: write EPIPE
at errnoException (net.js:883:11)
at Object.afterWrite (net.js:700:19)
İlk bakışta çok fazla yanlışlık var gibi görünüyor, bu yüzden nereden başlayacağınızdan emin değilsiniz. Bunu işe almak için bir yolu var mı? Son hedef, 'dan console.log
çıktısını alıp ./b.js
içinde kullanabilmektir. Nedeni, çoğu zaman bu betiklerin birer birer çalıştırılacağı, ancak bazen bunları bir araya getirebilmenin güzel olacağı düşüncesiyle, ideal olarak sistem her iki durumu da ele alabilmelidir.
http://stackoverflow.com/questions/15466383/how-to-detect-if-a-node-js-script-is-running-through-a-shell-pipe –