has
checks presence of various command line tools and their versions on the path
Download the has
file. There is no dependency apart from bash
itself
$ has node npm java git gradle
✔ node 8.2.1
✔ npm 5.3.0
✔ java 1.8.0
✔ git 2.14.1
✔ gradle 4.0.1
If everything is good has
exits with status code 0
. The status code
reflects number of commands not found on your path.
$ has node go javac
✔ node 8.2.1
✔ go 1.8.3
✘ javac
And echo the status:
$ echo $?
1
Just download the has
script in your path.
git clone https://github.com/kdabir/has.git && cd has && make install
If you are lazy, you can run has
directly off the internet as well:
curl -sL https://git.io/_has | bash -s git node npm
✔ git 2.14.1
✔ node 8.2.1
✔ npm 5.3.0
And if that's too much of typing every time, setup an alias
alias has="curl -sL https://git.io/_has | bash -s"
And use it
$ has git
✔ git 2.14.1
Let's say $ has foobar
returns foobar not understood
, because has
may not have whitelisted foobar
.
In such cases, pass HAS_ALLOW_UNSAFE=y has foobar
. This is should still check for existance of foobar
and tries to detect version as well.