Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

j-shellscript

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

j-shellscript

Use shell commands directly from nodejs to make synchronous shell scripts.

  • 0.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

Overview

Use shell commands directly from nodejs, nice and synchronous, so you can build easy command line scripts in node much like in Ruby.

Sample

So much like Ruby in fact, that here are the samples in coffeescript first.

require('shellscript').globalize()
shell "ls ."

And pipelines...

require('shellscript').globalize()
shell "ls . | grep lib"

Or if you us just plain Javascript

require('shellscript').globalize()
shell("ls .");

And of course, you can subshell and capture output

require('shellscript').globalize()
stuff = $("ls .")

Functions

globalize()

Puts shellscript's functions on global, so you can call them without an intermediate variable or namespace, useful to make this feel a lot more like other languages with built in synchronous shelling.

shell(command, exitOnError)

This just runs a command using your current $SHELL or /bin/sh if not set. It pipes stdout and stderr into the parent, and blocks until complete. This is the workhorse make a shell script function.

If exitOnError is true, this will exit the process for any non 0 exit code. Handy if you just want to exit and avoid error checking the return object.

Returns

An object with properties:

  • pid: pid of the shelled process, now exited
  • exitCode: exit code of the shelled process
  • signalCode: signal on exit of the shelled process
  • stdout: standard out, captured as a string
  • stderr: standard error, captured as a string

$(command)

Much like shell above, but instead of returning process information, returns the string that is stdout, or empty for a non-zero exit code.

$(command, args...)

In this version, if you pass args, either as a CoffeeScript splat or JavaScript array, the command will be invoked directly without a subshell. This is a tiny bit faster, and sometimes what you need if you don't want to run a shell pipeline.

Keywords

FAQs

Package last updated on 22 Apr 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc