shells

Get a list of all unix shells for which user configuration files exist. Supports bash, zsh, and fish.

Usage no npm install needed!

<script type="module">
  import shells from 'https://cdn.skypack.dev/shells';
</script>

README

shells

Get a list of all unix shells for which user configuration files exist. Supports bash, zsh, and fish.

Installation

npm install shells --save

Usage

const shells = require('shells')()

This module looks for the following files in your home directory:

~/.bashrc
~/.bash_profile
~/.config/fish/config.fish
~/.zshrc

It returns an array of the extant files, sorted by most recently modified:

[{
  file: '/Users/zeke/.zshrc',
  type: 'zsh'
}, {
  file: '/Users/zeke/.bashrc',
  type: 'bash'
}]

The first one on the list is probably the user's preferred shell, but there's no guarantee. If you just want to know the user's current shell, use process.env.SHELL, but be aware this isn't always accurate.

Tests

npm install
npm test

Dependencies

Dev Dependencies

  • standard: JavaScript Standard Style
  • tap-spec: Formatted TAP output like Mocha's spec reporter
  • tape: tap-producing test harness for node and browsers

License

MIT

Generated by package-json-to-readme