/shq-js

Quote a string for safe use as a shell argument. Strips null characters.

Primary LanguageJavaScript

shq

Quote a string for safe use as a shell argument. Strips null characters.

CLI

A CLI is not currently planned. If you want an easy way to invoke this module from a shell script, try enveval2401-pmb.

API

This module ESM-exports one function that holds some methods:

shq(x)

  • Stringify x,
  • remove all U+0000 null characters, because all too often, some C program in the pipeline will screw it up even if properly quoted,
  • and in case it contains special characters, quote it.

shq.cfg(opt)

Return a customized quoting function. opt is an optional options object that supports these keys:

  • empty: How to represent the empty string. Default: A pair of single quotes.
  • gratuitous: What string to put on both sides of a non-empty input that doesn't need to be quoted.

shq.always

A quoting function that adds gratuitous single quotes (cf. .cfg).

Usage

see test/usage.mjs.

Known issues

  • Needs more/better tests and docs.

 

License

ISC