{"_id":"shall","_rev":"32-88e9f2ed494f6c2ca70001bbe1ac0794","name":"shall","time":{"modified":"2022-06-26T18:34:53.943Z","created":"2014-05-17T19:48:31.094Z","0.0.1":"2014-05-17T19:48:31.094Z","0.0.2":"2014-05-17T19:58:04.473Z","0.1.0":"2014-12-24T15:44:10.620Z","0.1.1":"2014-12-24T19:17:35.526Z","0.1.2":"2015-01-27T15:15:50.605Z","0.1.3":"2015-01-29T05:27:29.680Z","0.1.4":"2015-02-11T18:17:07.015Z","0.1.5":"2015-02-11T19:46:02.932Z","0.1.6":"2015-02-11T22:55:28.949Z","0.1.7":"2015-02-12T03:44:03.877Z","0.2.0":"2015-05-27T15:31:57.421Z","0.2.1":"2015-05-27T16:07:51.899Z","0.2.2":"2015-06-01T03:50:58.402Z","0.2.3":"2015-06-26T04:18:00.688Z","0.2.4":"2015-07-09T02:50:21.034Z","0.2.5":"2015-09-15T21:48:25.474Z","0.2.6":"2015-09-19T04:20:46.183Z","0.2.7":"2015-09-20T19:40:00.202Z","0.2.8":"2015-10-23T05:02:59.539Z"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist-tags":{"latest":"0.2.8"},"description":"Unix CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","readme":"[![npm version](https://img.shields.io/npm/v/shall.svg)](https://npmjs.com/package/shall) [![license](https://img.shields.io/npm/l/shall.svg)](https://github.com/mklement0/shall/blob/master/LICENSE.md)\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n**Contents**\n\n- [shall &mdash; introduction](#shall-&mdash-introduction)\n- [Examples](#examples)\n- [Installation](#installation)\n  - [Installation from the npm registry](#installation-from-the-npm-registry)\n  - [Manual installation](#manual-installation)\n- [Usage](#usage)\n- [License](#license)\n  - [Acknowledgements](#acknowledgements)\n  - [npm dependencies](#npm-dependencies)\n- [Changelog](#changelog)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n# shall &mdash; introduction\n\n`shall` is a Unix CLI and REPL for invoking shell scripts or commands with\nmultiple POSIX-like shells for portability testing.\n\n**`shall`** (for ***sh***ell with ***all*** (POSIX-like) shells) offers a\nconvenient way of running a given shell script or shell command with a default\nset or specifiable set of POSIX-like shells, so as to facilitate testing of\nportable (POSIX-compliant, cross-shell) shell code.\n\nBy default, the following shells are targeted, if installed: **sh, dash, bash, zsh, ksh**\n\nAdditionally, you can use `shall`:\n\n* as a REPL, with `-i`.\n* in a script's shebang line.\n\nEach shell's execution is automatically timed to allow performance comparisons.\n\nThe syntax is modeled on that of the underlying shells.\n\nSee the examples below, concise [usage information](#usage) further below,\nor read the [manual](doc/shall.md).\n\n# Examples\n\n```sh\n\n# Echo the name of each executing shell; sample output included.\n$ shall -c 'echo \"Hello from $0.\"'\n```\n![Hello example - sample output](doc/images/example-output-hello.png)\n\n\n```sh\n\n# Pass a script to all shells via stdin, plus an argument on the command line.\necho 'echo \"Passed to $0: $1\"' | shall -s one\n\n# Execute script 'foo-script' with argument 'bar' in all shells.\nshall foo-script bar\n\n# Print the type of the 'which' command in Bash and Zsh.\nshall -w bash,zsh -c 'type which'\n\n# Enter a REPL that evaluates commands in both Bash and Dash.\nSHELLS=bash,dash shall -i\n\n```\n\n# Installation\n\n**Supported platforms**\n\n* When installing from the [**npm registry**](https://www.npmjs.com): all **Unix-like** platforms supported by [Node.js](http://nodejs.org/) with [**Bash**](http://www.gnu.org/software/bash/) installed.\n* When installing **manually**: any **Unix-like** platform with **Bash** installed.\n\n## Installation from the npm registry\n\n<sup>Note: Even if you don't use Node.js, its package manager, `npm`, works across platforms and is easy to install; try [`curl -L http://git.io/n-install | bash`](https://github.com/mklement0/n-install)</sup>\n\nWith [Node.js](http://nodejs.org/) or [io.js](https://iojs.org/) installed, install [the package](https://www.npmjs.com/package/shall) as follows:\n\n    [sudo] npm install shall -g\n\n**Note**:\n\n* Whether you need `sudo` depends on how you installed Node.js / io.js and whether you've [changed permissions later](https://docs.npmjs.com/getting-started/fixing-npm-permissions); if you get an `EACCES` error, try again with `sudo`.\n* The `-g` ensures [_global_ installation](https://docs.npmjs.com/getting-started/installing-npm-packages-globally) and is needed to put `shall` in your system's `$PATH`.\n\n## Manual installation\n\n* Download [the CLI](https://raw.githubusercontent.com/mklement0/shall/stable/bin/shall) as `shall`.\n* Make it executable with `chmod +x shall`.\n* Move it or symlink it to a folder in your `$PATH`, such as `/usr/local/bin` (OSX) or `/usr/bin` (Linux).\n\n# Usage\n\nFind concise usage information below; for complete documentation, read the [manual online](doc/shall.md), or, once installed, run `man shall` (`shall --man` if installed manually).\n\n<!-- DO NOT EDIT THE FENCED CODE BLOCK and RETAIN THIS COMMENT: The fenced code block below is updated by `make update-readme/release` with CLI usage information. -->\n\n```nohighlight\n$ shall --help\n\n\nCross-POSIX-compatible-shell testing:\n\nRun a script file:\n\n    shall [-w <shellA>,...] [-q|-Q] [-p <opts>]     <script> [<arg>...]\n\nExecute a command string:\n\n    shall [-w <shellA>,...] [-q|-Q] [-p <opts>]  -c <cmd>    [<arg0> <arg>...]\n\nExecute commands specified via stdin:\n\n    shall [-w <shellA>,...] [-q|-Q] [-p <opts>] [-s           <arg>...]\n\nStart a REPL (run commands interactively):\n\n    shall [-w <shellA>,...]  -i\n\nDefault shells targeted are sh, and, if installed, dash, bash, zsh, ksh.  \nOverride with -w or environment variable SHELLS, using a comma-separated  \nlist without spaces; e.g., -w bash,ksh,zsh or SHELLS=bash,ksh,zsh.\n\n-q, -Q quiets stdout, stdout + stderr from the script / commands invoked.  \n-p passes options through to the target shells.\n\nStandard options: --help, --man, --version, --home\n```\n\n<!-- DO NOT EDIT THE NEXT CHAPTER and RETAIN THIS COMMENT: The next chapter is updated by `make update-readme/release` with the contents of 'LICENSE.md'. ALSO, LEAVE AT LEAST 1 BLANK LINE AFTER THIS COMMENT. -->\n\n# License\n\nCopyright (c) 2014-2015 Michael Klement, released under the [MIT license](https://spdx.org/licenses/MIT#licenseText).\n\n## Acknowledgements\n\nThis project gratefully depends on the following open-source components, according to the terms of their respective licenses.\n\n[npm](https://www.npmjs.com/) dependencies below have optional suffixes denoting the type of dependency; the absence of a suffix denotes a required run-time dependency: `(D)` denotes a development-time-only dependency, `(O)` an optional dependency, and `(P)` a peer dependency.\n\n<!-- DO NOT EDIT THE NEXT CHAPTER and RETAIN THIS COMMENT: The next chapter is updated by `make update-readme/release` with the dependencies from 'package.json'. ALSO, LEAVE AT LEAST 1 BLANK LINE AFTER THIS COMMENT. -->\n\n## npm dependencies\n\n* [doctoc (D)](https://github.com/thlorenz/doctoc)\n* [json (D)](https://github.com/trentm/json)\n* [marked-man (D)](https://github.com/kapouer/marked-man#readme)\n* [replace (D)](https://github.com/harthur/replace)\n* [semver (D)](https://github.com/isaacs/node-semver)\n* [urchin (D)](https://github.com/tlevine/urchin)\n\n<!-- DO NOT EDIT THE NEXT CHAPTER and RETAIN THIS COMMENT: The next chapter is updated by `make update-readme/release` with the contents of 'CHANGELOG.md'. ALSO, LEAVE AT LEAST 1 BLANK LINE AFTER THIS COMMENT. -->\n\n# Changelog\n\nVersioning complies with [semantic versioning (semver)](http://semver.org/).\n\n<!-- NOTE: An entry template is automatically added each time `make version` is called. Fill in changes afterwards. -->\n\n* **[v0.2.8](https://github.com/mklement0/shall/compare/v0.2.7...v0.2.8)** (2015-10-23):\n  * [doc] `README.md` examples still contained obsolete `-l` switch.\n  * [dev] Improved robustness of internal `rreadlink()` function.\n\n* **[v0.2.7](https://github.com/mklement0/shall/compare/v0.2.6...v0.2.7)** (2015-09-20):\n  * [dev] Confusing changelog typos fixed.\n  * [dev] Removed post-install command that verifies presence of Bash, because\n    `npm` always _prints_ the command during installation, which can be confusing.  \n\n* **[v0.2.6](https://github.com/mklement0/shall/compare/v0.2.5...v0.2.6)** (2015-09-19):\n  * [doc] `shall` now has a man page (if manually installed, use `shall --man`);\n          `shall -h` now just prints concise usage information.\n\n* **[v0.2.5](https://github.com/mklement0/shall/compare/v0.2.4...v0.2.5)** (2015-09-15):\n  * [dev] Makefile improvements; various other behind-the-scenes tweaks.\n\n* **[v0.2.4](https://github.com/mklement0/shall/compare/v0.2.3...v0.2.4)** (2015-07-08):\n  * [fix] Pass-through option-arguments with embedded spaces are now handled correctly; process substitution replaced with alternative so as to improve FreeBSD compatibility.\n  * [doc] Read-me improved, notably: manual-installation instructions added, TOC added.\n\n* **[v0.2.3](https://github.com/mklement0/shall/compare/v0.2.2...v0.2.3)** (2015-06-26):\n  * [doc] Read-me: npm badge changed to [shields.io](http://shields.io); license badge added; typo fixed.\n  * [dev] To-do added; Makefile updated.\n\n* **v0.2.2** (2015-05-31):\n  * [doc] [npm registry badge](https://badge.fury.io) added\n\n* **v0.2.1** (2015-05-27):\n  * [fix] Options passed through with -p are no longer ignored on Linux.\n  * [fix] Removed extraneous status output.\n\n* **v0.2.0** (2015-05-24):\n  * [new] New -p option allows passing additional options through to the shells invoked; e.g.: -p '-e'\n  * [deprecated] -l option for specifying shells to target renamed to -w to avoid confusion with shells' native -l version (login shells); -l will continue to work. \n  * [robustness] Exit codes relating to shall's *own* failures changed to: 126 (incorrect arguments) and 127 (unexpected failure), chosen so as to avoid clashes with exit codes produced during normal operation and termination by signal.\n\n* **v0.1.7** (2015-02-11):\n  * [doc] improved description in package.json\n\n* **v0.1.6** (2015-02-11):\n  * [fix] When using the default target shells, only those actually installed should be targeted.\n\n* **v0.1.5** (2015-02-11):\n  * [install] warning added, if bash not found\n  * [dev] bash-presence test improved\n  * [dev] Makefile improvements\n\n* **v0.1.4** (2015-02-11):\n  * [dev] testing no longer requires the CLI to be in the path\n  * [dev] bash-presence test added\n  * [dev] Makefile improvements\n  * [doc] read-me improvements (examples)\n\n* **v0.1.3** (2015-01-28):\n  * [doc] read-me typo corrected\n  * [dev] Makefile improvements\n\n* **v0.1.2** (2015-01-27):\n  * [fix] -q option no longer masks failures\n  * [doc] CLI help and read-me updates\n  * [dev] Urchin-based tests added\n\n* **v0.1.1** (2014-12-23):\n  * [doc] read-me and CLI help fixes\n\n* **v0.1.0** (2014-12-23):\n  * Initial release\n","versions":{"0.1.0":{"name":"shall","description":"A CLI for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.1.0","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"https://github.com/mklement0/shall"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"doctoc":"^0.7.1","json":"^9.0.2","replace":"^0.3.0","semver":"^4.1.0","urchin":"^0.0.5"},"gitHead":"be8709a8503d1928928d56eaba01efb284bba74a","_id":"shall@0.1.0","_shasum":"9ca158fd7239091755358d2d60a2bf4cc89c86e2","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.33","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"9ca158fd7239091755358d2d60a2bf4cc89c86e2","tarball":"https://registry.npmjs.org/shall/-/shall-0.1.0.tgz","integrity":"sha512-33l8B62yL5x1PhaRMOz6GySfqtrKSTGXV8nfjUnF+n6dnnFIxNKNkAZTQHM69udHFrM5wNaNCdD1D4IEl+Bt/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGJk7QL83+yAEMaxTvvHsLlyjQySwEtfrCPyMLiKnGgqAiAcYl2BaxOsa9IioBbl8RkYcJx8uDC8H08woo4axEljaw=="}]}},"0.1.1":{"name":"shall","description":"A CLI for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.1.1","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"https://github.com/mklement0/shall"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"doctoc":"^0.7.1","json":"^9.0.2","replace":"^0.3.0","semver":"^4.1.0","urchin":"^0.0.5"},"gitHead":"be2ed074e59b84965cac72d9f6e0fcbd432925b6","_id":"shall@0.1.1","_shasum":"7b1332395cc32512dcc85be76f9c0e521ee53a97","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.33","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"7b1332395cc32512dcc85be76f9c0e521ee53a97","tarball":"https://registry.npmjs.org/shall/-/shall-0.1.1.tgz","integrity":"sha512-ycthwUh7GvO3jlIwkZfY403wmbPI4ZPvwA4zzgA2RNijKVnYrPPR6Xnuc7W+tOSHzoxBolGDK3hBVz4+fo0EYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEJ4OIpOQzIbHHdYuBpZ5lI9IeuSq8LAeHo1BraKqP4KAiBKTZdVuwt4hrkISRsdaQ4SFmIxIhnwk8n/JgIRHGXweA=="}]}},"0.1.2":{"name":"shall","description":"A CLI for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.1.2","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"https://github.com/mklement0/shall"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"f9fb650e3f36849ce6c38255e2a6459bbd5a6d87","_id":"shall@0.1.2","_shasum":"f6e182f7d2e48c02cfbd003c09a3efadf43b4718","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.33","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"f6e182f7d2e48c02cfbd003c09a3efadf43b4718","tarball":"https://registry.npmjs.org/shall/-/shall-0.1.2.tgz","integrity":"sha512-IGr7qOoefqzUBBfqce1Y3xrcDUUommPaq1xY0XFgKePVO8Pj1BTGgtF9kGefQ2CrgA0VHAKs6bdqcC31Oq6m0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYRA47tz7eA516jwcnBDx23hVHWqMGXOhbUW7VpJbG/QIhAJVU/yRhdDDx6K7Uwmw5vLHSBazJu2fwv8/iT752X2TY"}]}},"0.1.3":{"name":"shall","description":"A CLI for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.1.3","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"https://github.com/mklement0/shall"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"1a0e34c209077d3b1cdecebe4127a081b00cc75c","_id":"shall@0.1.3","_shasum":"699abb074db9250b38ec59e108f43b95c840d268","_from":".","_npmVersion":"2.3.0","_nodeVersion":"0.10.33","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"699abb074db9250b38ec59e108f43b95c840d268","tarball":"https://registry.npmjs.org/shall/-/shall-0.1.3.tgz","integrity":"sha512-fDaWIvGUP/g/3ndeu4fwWprBFrG2xhQTdMt7iPPVZmNPpKYGuy+4LGSi5t6jSsAGtlTeD5u0QC1EhHaktIg/Fg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG7FVKxDDgUDKvovPQ93pxBja2ax8KPQzaPwDyN8tXbZAiEAm1uCfrSkaJ56ISApEfaFvMd35KR80TWTnESRBG71VjY="}]}},"0.1.4":{"name":"shall","description":"A CLI for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.1.4","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"https://github.com/mklement0/shall"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"f689c7b1c1141d3166cc41fdea0115f5db5f3f70","_id":"shall@0.1.4","_shasum":"a7fc7863b9d68a55d50b8e67c428b681b830b762","_from":".","_npmVersion":"2.1.11","_nodeVersion":"0.10.33","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"a7fc7863b9d68a55d50b8e67c428b681b830b762","tarball":"https://registry.npmjs.org/shall/-/shall-0.1.4.tgz","integrity":"sha512-RQJL1/Ft5XRqHY2BYir1azRlo0GOsaQeV5aBLsgOxxsA8j8RrmicN0JxBznCtg9CVscP8DqzKzByvo84nazWzA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICP9lXxv1iOt/j9h+J3t9l4u8TMuU/q9H3grHmZCvKNxAiAcsQkonMxY5t0LQ3Mdmf4sf36h9RwWgTMMi9SIZyEj8g=="}]}},"0.1.5":{"name":"shall","description":"A CLI for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.1.5","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"https://github.com/mklement0/shall"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test","postinstall":"bash --version >/dev/null 2>&1 || printf '%s\\n\\n' \"WARNING: bash not found; make sure it is installed before running this utility.\" >&2"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"07a47075f7839d5cc2d0ec19ed0d8507ff83522d","_id":"shall@0.1.5","_shasum":"a081139de713937592147182708fdf8cdb0542cc","_from":".","_npmVersion":"2.1.11","_nodeVersion":"0.10.33","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"a081139de713937592147182708fdf8cdb0542cc","tarball":"https://registry.npmjs.org/shall/-/shall-0.1.5.tgz","integrity":"sha512-5/j7eHmzdTYgNjsWchbg5559sAa3ZkIrxDrb8WZf06HuVuQnBVu4h9elH23lBrdl17OfgW1N8zlTmOB3nYsSFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcWSY3/2lBfEo0kfO21dr7WMQqZiSKqvFRFFu08L3LUgIhAMKrKPMdmfDXaiLfh9xNTFFGSZmvXwORJBxn/CVQkOCI"}]}},"0.1.6":{"name":"shall","description":"A CLI for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.1.6","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"https://github.com/mklement0/shall"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test","postinstall":"bash --version >/dev/null 2>&1 || printf '%s\\n\\n' \"WARNING: bash not found; make sure it is installed before running this utility.\" >&2"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"6631a7678d563389e93c798882302ba71cd77235","_id":"shall@0.1.6","_shasum":"90ff91a401a1ea45339f6f73f728bfa0a53c8333","_from":".","_npmVersion":"2.1.11","_nodeVersion":"0.10.33","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"90ff91a401a1ea45339f6f73f728bfa0a53c8333","tarball":"https://registry.npmjs.org/shall/-/shall-0.1.6.tgz","integrity":"sha512-77u+F8hO7S5/QcAA/VzJd7GXputMny+bEvxrXpKObcKqrxpPvYUFaI3biGTkLfALMV05GrW8yT0++Or2iacSUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2ND3QxjTTvSC4txGGMj35Et2d3t0Omdk4zcXr45pYTwIhAMERZZlN4mhUQHedMj1Ed3cAHkaInuuMiiENYh9TBkXs"}]}},"0.1.7":{"name":"shall","description":"A CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.1.7","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"https://github.com/mklement0/shall"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test","postinstall":"bash --version >/dev/null 2>&1 || printf '%s\\n\\n' \"WARNING: bash not found; make sure it is installed before running this utility.\" >&2"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"09dc3eda0d3e5d655cae828814cb8823ed34e9ff","_id":"shall@0.1.7","_shasum":"bc0d087cdeac3e5da522eb10c21bacc30ae2927a","_from":".","_npmVersion":"2.1.11","_nodeVersion":"0.10.33","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"bc0d087cdeac3e5da522eb10c21bacc30ae2927a","tarball":"https://registry.npmjs.org/shall/-/shall-0.1.7.tgz","integrity":"sha512-jkPZ2r5dZ+ZzOuiSYYYS2lFolWqbfag9Kn+aB3eu5PuEDFlHr+U2Y+8CQoKI8qeOO3E8RCA7RDBZ0hk2SuQMPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpVPDp1PLUF0ExNMLwj5zuPEheDOXKcyF7R+m7YhzUMwIgRhXNnOPfTNIoJt5hkOvdkIr7VEEAXkMSf6H8T6Rg148="}]}},"0.2.0":{"name":"shall","description":"A CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.2.0","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"git+https://github.com/mklement0/shall.git"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test","postinstall":"bash --version >/dev/null 2>&1 || printf '%s\\n\\n' \"WARNING: bash not found; make sure it is installed before running this utility.\" >&2"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"73c1cc6c9a93868a51cd4d87bdf913a002a9540b","_id":"shall@0.2.0","_shasum":"50ac129cbc4e977f51ec0f8fcd4191ca8f85da55","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"50ac129cbc4e977f51ec0f8fcd4191ca8f85da55","tarball":"https://registry.npmjs.org/shall/-/shall-0.2.0.tgz","integrity":"sha512-pTYAaSf6fwl/mTKGyjxiwpI82eZL7b8oCOFd13RAUU2d11HctzEI4U4uzy64Qp29YJN9KteTT2wh81qZeavZDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRoout02OHMtOIFagr4DmHwHQoFvR/8mqg/AwKotTwWQIgUEnevUEV6znITabPw8ZDyrIzbdr7LHZIf7ZOzutsLlM="}]}},"0.2.1":{"name":"shall","description":"A CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.2.1","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"git+https://github.com/mklement0/shall.git"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test","postinstall":"bash --version >/dev/null 2>&1 || printf '%s\\n\\n' \"WARNING: bash not found; make sure it is installed before running this utility.\" >&2"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"f25878f0c9670646d894650d4c6797a4b0a26edc","_id":"shall@0.2.1","_shasum":"e8fcd6352324f154a5bbf9289b27a0e7263a90e2","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"e8fcd6352324f154a5bbf9289b27a0e7263a90e2","tarball":"https://registry.npmjs.org/shall/-/shall-0.2.1.tgz","integrity":"sha512-Jtwh7N/ksFzUlvAc2EBCV+XqOa7JEePGYnOtepFf4hZBxqcUBCkkigOd8y1ly4e8Hm3czABAwv6YfDfInHwpLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNzAVleuJgs/jaxKi5BsiBa5TLgD+qhpW0WVDT2aVZmgIhAMMLKmbop1IIpqrDdqjS8eg7Wcxw1nZO2rI34fAegdba"}]}},"0.2.2":{"name":"shall","description":"A CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.2.2","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"git+https://github.com/mklement0/shall.git"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test","postinstall":"bash --version >/dev/null 2>&1 || printf '%s\\n\\n' \"WARNING: bash not found; make sure it is installed before running this utility.\" >&2"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"e15112aaab69ab23ccd18de818aae680206db985","_id":"shall@0.2.2","_shasum":"bcf71c47093623e66ad45f5ba10fa0e81883f41a","_from":".","_npmVersion":"2.9.1","_nodeVersion":"0.12.3","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"bcf71c47093623e66ad45f5ba10fa0e81883f41a","tarball":"https://registry.npmjs.org/shall/-/shall-0.2.2.tgz","integrity":"sha512-WOYpdtoEQD6r+YxpBPpzpd+Y0pFEDDiOATfKDVCBrHBX3PZVSP1WwmdJRG53Qwc/rKDTrV1D7BLfSFNSZxcKiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKqLG7pGigx7XeJqX97xA2KLiKVbSit3w/ThXzzWx1dQIhAKTRvdRAqBEEIbsiZr0qDC2iVpLzPP0WWa5PSyEv0Ujo"}]}},"0.2.3":{"name":"shall","description":"A CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.2.3","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"git+https://github.com/mklement0/shall.git"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test","postinstall":"bash --version >/dev/null 2>&1 || printf '%s\\n\\n' \"WARNING: bash not found; make sure it is installed before running this utility.\" >&2"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","devDependencies":{"json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"b23f61993a62e5d188ba370e2cdf3bf640183281","_id":"shall@0.2.3","_shasum":"13b5031d94655cab43b861bd028fd79775aaf351","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"13b5031d94655cab43b861bd028fd79775aaf351","tarball":"https://registry.npmjs.org/shall/-/shall-0.2.3.tgz","integrity":"sha512-v6U/U14FLB5v5mGGMzprA0620joPZeJaA+nQXQchPplGa8qrnNOR/8vexfCs5ntOAltATaeAdeS+UVnRVJsFag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBpg8+xV83uZnA84/A9p+s+JXcPRfsebNmp8xx+vh1h2AiB7yj5F1GJo9fuDsPtTn79m9+KB6L7c0TtyffldQCbD3Q=="}]}},"0.2.4":{"name":"shall","description":"A CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.2.4","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"git+https://github.com/mklement0/shall.git"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test","postinstall":"bash --version >/dev/null 2>&1 || printf '%s\\n\\n' \"WARNING: bash not found; make sure it is installed before running this utility.\" >&2"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","net_same2u":{"make_pkg":{"tocOn":true,"tocTitle":"**Contents**"}},"devDependencies":{"doctoc":"^0.14.2","json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"c179061e84764945364fd2ad07d0719b2c79d71c","_id":"shall@0.2.4","_shasum":"7dc4b8939cfe3b77b2254865fcec2d15a48e98f2","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"7dc4b8939cfe3b77b2254865fcec2d15a48e98f2","tarball":"https://registry.npmjs.org/shall/-/shall-0.2.4.tgz","integrity":"sha512-riCxJX9nbVg7C/D37n6xR+HO5JAm9c8G9rKP2TV3fzOpX3UO6Cq83H2FKyps7breTRp5XirCQPhqEVjxWwvUng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6wtp3GDfVvHp+wlxdJt2qwoV+weObHtnVL/pFgDZszAiEA6pMFRiU5qgu6dr0aj/FjqKEQ0AGQPxzcxXcEqByjAdM="}]}},"0.2.5":{"name":"shall","description":"Unix CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.2.5","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"git+https://github.com/mklement0/shall.git"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test","postinstall":"bash --version >/dev/null 2>&1 || printf '%s\\n\\n' \"WARNING: bash not found; make sure it is installed before running this utility.\" >&2"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","net_same2u":{"make_pkg":{"tocOn":true,"tocTitle":"**Contents**"}},"devDependencies":{"doctoc":"^0.14.2","json":"^9.0.3","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"gitHead":"522d6963fae42da0e0ccc5f2b4577d95f985fdc4","_id":"shall@0.2.5","_shasum":"fb764f34664febc395fba8e02d1ec569c14958f7","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"fb764f34664febc395fba8e02d1ec569c14958f7","tarball":"https://registry.npmjs.org/shall/-/shall-0.2.5.tgz","integrity":"sha512-9ZU9Ab3Df6F+MymnikXqeRFmV6vmmKe3lbhOjPRYXMDfVcztNJVsNh7kyeis0Up5iQITN2OXhA8z5/gdgW0NOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkTgDywVeoarPuHXIogOwQ1Dx6eDLgH+NvbrLLa4trwwIgCFywh8Apr/iaeIhoG+hEjG1ClOqyDfEz2EtTmxfKPQI="}]}},"0.2.6":{"name":"shall","description":"Unix CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.2.6","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"git+https://github.com/mklement0/shall.git"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test","postinstall":"bash --version >/dev/null 2>&1 || printf '%s\\n\\n' \"WARNING: bash not found; make sure it is installed before running this utility.\" >&2"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","net_same2u":{"make_pkg":{"tocOn":true,"tocTitle":"**Contents**","manOn":true}},"devDependencies":{"doctoc":"^0.14.2","json":"^9.0.3","marked-man":"^0.1.5","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"man":["./man/shall.1"],"gitHead":"e884c481a7856a7cf35191d1448f4e75c538e059","_id":"shall@0.2.6","_shasum":"1b1721536c33693c300ae91d4e206ab70f08f374","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"1b1721536c33693c300ae91d4e206ab70f08f374","tarball":"https://registry.npmjs.org/shall/-/shall-0.2.6.tgz","integrity":"sha512-jBB4TO/FYIwn48wIOa45QKGNgNbjfNgobpsBrAKJ7in42D9V5xU5WOgUBzTHEfKVWnJb+JyZgd88Y2uLk/9FVg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDR3xgMDHnz2yUCoPLz6AuXFeMI7ycvd/xXyKdTtc+bqwIgan7qKaQKub8u/yJWVY2oqJxPoLTNRj8u9+1KjV9s6sI="}]}},"0.2.7":{"name":"shall","description":"Unix CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.2.7","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"git+https://github.com/mklement0/shall.git"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","net_same2u":{"make_pkg":{"tocOn":true,"tocTitle":"**Contents**","manOn":true}},"devDependencies":{"doctoc":"^0.14.2","json":"^9.0.3","marked-man":"^0.1.5","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"man":["./man/shall.1"],"gitHead":"ca15fe32291c22b0bfc568e484cb1bb52098c2b3","_id":"shall@0.2.7","_shasum":"a7cc56734395ea2d6acbb8f894a32b0043e3543f","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"a7cc56734395ea2d6acbb8f894a32b0043e3543f","tarball":"https://registry.npmjs.org/shall/-/shall-0.2.7.tgz","integrity":"sha512-nYXKxmRa3nLqPtPkoGhd9A70+bKBAHX7Bzb3febLKBe4tEASgZow1XuzVSobAHG/tBTSpYjwN/ZTfzYlvISSTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBh3ZnOJJZ4AFknt6IRxHPFsCtNzhzkS5cEwF95m1f/OAiAocmQZr2sLkIoRwpZmwOPAQR5TkecWBHv17WXHYj2eAg=="}]}},"0.2.8":{"name":"shall","description":"Unix CLI and REPL for invoking shell scripts or commands with multiple POSIX-like shells for portability testing.","private":false,"version":"0.2.8","os":["!win32"],"preferGlobal":true,"bin":{"shall":"bin/shall"},"homepage":"https://github.com/mklement0/shall","repository":{"type":"git","url":"git+https://github.com/mklement0/shall.git"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"scripts":{"test":"make test"},"keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"license":"MIT","net_same2u":{"make_pkg":{"tocOn":true,"tocTitle":"**Contents**","manOn":true}},"devDependencies":{"doctoc":"^0.14.2","json":"^9.0.3","marked-man":"^0.1.5","replace":"^0.3.0","semver":"^4.2.0","urchin":"^0.0.5"},"man":["./man/shall.1"],"gitHead":"24d61bd89a7c5741bb97507146745342b1951dcc","_id":"shall@0.2.8","_shasum":"23e8bd017fc3dd2dbfb29ccef2bfdeba34c33f77","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"mklement0","email":"mklement0@gmail.com"},"maintainers":[{"name":"mklement0","email":"mklement0@gmail.com"}],"dist":{"shasum":"23e8bd017fc3dd2dbfb29ccef2bfdeba34c33f77","tarball":"https://registry.npmjs.org/shall/-/shall-0.2.8.tgz","integrity":"sha512-EPfe0u/qf1YHixUPCMb8MGpSfYJDt4ldM+pa7BgrAb3LA4T46cur6N0QWXJ7vRkr3NlaZlX8K/OCwFscHZnSeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbD4tTc9Kf28z/dKAsWDeNamCbqKiuzhya/GPzKP44BwIgNNtFJR2LXtU4foTW0j0E95cAIYJdRt0Q/y+sRLsASA8="}]}}},"homepage":"https://github.com/mklement0/shall","keywords":["shell","cross-shell","test","compatibility","POSIX","portable","REPL","CLI"],"repository":{"type":"git","url":"git+https://github.com/mklement0/shall.git"},"author":{"name":"Michael Klement","email":"mklement0@gmail.com","url":"http://same2u.net"},"bugs":{"url":"https://github.com/mklement0/shall/issues"},"license":"MIT","readmeFilename":"README.md"}