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

shlex

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

shlex

Node.js port of Python's shlex shell-like lexer

  • 2.1.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

node-shlex

Build Status

node-shlex is a Node.js module for quoting and parsing shell commands.

The API was inspired by the shlex module from the Python Standard Library. However, the Python implementation is fairly complex, and supports a confusing matrix of modes that is not replicated here. node-shlex always operates in what the Python module calls "POSIX mode."

As of version 2.0.0, Bash's ANSI C strings ($'x') and locale-specific translation strings ($"x") are supported. This diverges from the Python shlex behavior but makes parsing more accurate.

Note that node-shlex does not attempt to split on or otherwise parse operators (such as 2>/dev/null) or comments, and it does not perform variable interpolation.

Usage

shlex.join()

var join = require("shlex").join
join(["ls", "-al", '/'])  // returns: 'ls -al /'
join([ 'rm', '-f', '/Volumes/Macintosh HD' ])  // returns: "rm -f '/Volumes/Macintosh HD'"

shlex.quote()

var quote = require("shlex").quote
quote("abc")      // returns: abc
quote("abc def")  // returns: 'abc def'
quote("can't")    // returns: 'can'"'"'t'

shlex.split()

var split = require("shlex").split
split('ls -al /')  // returns: [ 'ls', '-al', '/' ]
split('rm -f "/Volumes/Macintosh HD"')  // returns: [ 'rm', '-f', '/Volumes/Macintosh HD' ]

Keywords

FAQs

Package last updated on 24 Jun 2022

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