Comments (16)
Sounds like we should implement a read()
function similar to Bash's read. If anyone can open a PR, I'll gladly review
from shelljs.
@nfischer I want to read from stdin synchronously. I was expecting that cat
called without filepaths would do it.
Since I haven't found a way to do it with shelljs
I have used a stackoverflow snippet showing a cross-platform way of reading stdin synchronously.
Would you be interested in a PR for making cat
reading from stdin when called without arguments?
from shelljs.
@nfischer I've started working on this and I've realized that cat
can be piped like in pwd().cat()
so in order to keep that functionality I propose to use -
as filepath to specify standard input instead of the absence of filepaths
cat('file1.txt', '-', 'file2.txt')
From man cat
:
With no FILE, or when FILE is
-
, read standard input
Suggestions?
from shelljs.
+1
from shelljs.
See readline or readline-sync
readline-sync
defaults to stdio, for readline
you'll need something like below...
//readline
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
rl.on('line', function (cmd) {
console.log('You just typed: '+cmd);
});
from shelljs.
+1
from shelljs.
See the method used in issue #203
If it relates to this.
from shelljs.
I am having the same problem as in #203, but I don't want to provide a text file with the password. I want to type it in manually. Doesn't seem to work with shelljs :-(
+1
from shelljs.
@pfraces Sounds like something we'd be interested in 👍
from shelljs.
Please ping this thread if you run into any issues implementing this. Thanks!
from shelljs.
Sounds good to me. Thanks for pointing that out.
If you can implement it to work with -
as a file name, I'll try to modify the the internal function for reading from the left-hand-side of a pipe to also check standard input if it's not in a pipe.
from shelljs.
Hmm...
(Sorry to interject)...
Here's the problem with that: cat -
is async, it doesn't return until you tell it to... I'm not sure how that would integrate with shelljs.
from shelljs.
How is cat async? It blocks while it reads input, and returns when it receives EOF.
from shelljs.
async isn't really the right word, but I'm not sure how to describe it.
Usually, It works like this:
$ cat _ > foo.txt && echo "Done"
> Blah Blah Blah
> ^C
Done
$
So, that would become:
$ node
> $.cat('-'); $.echo("Done");
---> Blah Blah Blah
---> ^C # Now this doesn't work, it kills node instead.
Done # This never happens
from shelljs.
I believe the standard way of sending EOF is to use ^D
instead. If we really wanted, we could write a signal handler for ^C
, but I'd prefer to hold off, especially since this is a less-common use-case. We can implement that if there are feature requests down the road.
from shelljs.
Ok, That works for me.
Thanks! Ari
On Tue, Jun 7, 2016 at 8:03 PM, Nate Fischer [email protected] wrote:
I believe the standard way of sending EOF is to use ^D instead. If we really wanted, we could write a signal handler for ^C , but I'd prefer to hold off, especially since this is a less-common use-case. We can implement that if there are feature requests down the road.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub [https://github.com//issues/18#issuecomment-224475282] , or mute the thread [https://github.com/notifications/unsubscribe/ABu7pIxMAjkjK0S5Ccb-xJ1_r4Q7rxWOks5qJjD4gaJpZM4ABnbw] .
from shelljs.
Related Issues (20)
- Feature request (true, false) HOT 1
- test-with-coverage is broken on node v16 HOT 1
- `cd.js` swallows the initial error HOT 1
- "TypeError: common.register is not a function" under node v20.6.0 HOT 13
- GitHub actions dropping support for node < 16
- Exec failure on Node 21 HOT 1
- In mv command, there should be en error if destination directory not present. HOT 1
- shell.exec(`mv a/m.js b/`) cannot return error stdout HOT 2
- Latest shelljs type definitions have errors HOT 4
- Vulnerability in shelljs dependency: CWE-772: Missing Release of Resource after Effective Lifetime HOT 4
- shelljs.exec or child_process.exec not executing HOT 2
- Shelljs EXEC does not work when running a pre-compiled binary application HOT 4
- Attempted to import the Node standard library module "fs" HOT 1
- A problem with cd outside the project HOT 3
- `exec-child.js` module not found, when running `shell.exec()` on Next.js Server Actions
- Dynamic require() without .js extension breaks bundling (esbuild)
- Please update dependency HOT 1
- package.json version is outdated HOT 3
- Security findings - transitive dependency `inflight` is deprecated HOT 1
- unable to package into binary or minify shelljs HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shelljs.