2
1
mirror of https://github.com/kdabir/has.git synced 2024-09-18 17:01:29 +02:00
has/README.md

84 lines
2.0 KiB
Markdown
Raw Normal View History

# has
2014-03-04 23:16:26 +01:00
2017-10-14 08:58:53 +02:00
`has` checks presence of various command line tools on the path and also reports their installed version
2014-03-04 23:16:26 +01:00
2018-01-31 05:00:14 +01:00
[![Build Status](https://travis-ci.org/kdabir/has.svg?branch=master)](https://travis-ci.org/kdabir/has)
Add CodeTriage badge to kdabir/has Adds a badge showing the number of people helping this repo on CodeTriage. [![Open Source Helpers](https://www.codetriage.com/kdabir/has/badges/users.svg)](https://www.codetriage.com/kdabir/has) ## What is CodeTriage? CodeTriage is an Open Source app that is designed to make contributing to Open Source projects easier. It works by sending subscribers a few open issues in their inbox. If subscribers get busy, there is an algorithm that backs off issue load so they do not get overwhelmed [Read more about the CodeTriage project](https://www.codetriage.com/what). ## Why am I getting this PR? Your project was picked by the human, @schneems. They selected it from the projects submitted to https://www.codetriage.com and hand edited the PR. How did your project get added to [CodeTriage](https://www.codetriage.com/what)? Roughly 4 months ago, [@kdabir](https://github.com/kdabir) added this project to CodeTriage in order to start contributing. ## What does adding a badge accomplish? Adding a badge invites people to help contribute to your project. It also lets developers know that others are invested in the longterm success and maintainability of the project. You can see an example of a CodeTriage badge on these popular OSS READMEs: - [![](https://www.codetriage.com/rails/rails/badges/users.svg)](https://www.codetriage.com/rails/rails) https://github.com/rails/rails - [![](https://www.codetriage.com/crystal-lang/crystal/badges/users.svg)](https://www.codetriage.com/crystal-lang/crystal) https://github.com/crystal-lang/crystal ## Have a question or comment? While I am a bot, this PR was manually reviewed and monitored by a human - @schneems. My job is writing commit messages and handling PR logistics. If you have any questions, you can reply back to this PR and they will be answered by @schneems. If you do not want a badge right now, no worries, close the PR, you will not hear from me again. Thanks for making your project Open Source! Any feedback is greatly appreciated.
2018-02-03 22:52:36 +01:00
[![Open Source Helpers](https://www.codetriage.com/kdabir/has/badges/users.svg)](https://www.codetriage.com/kdabir/has)
2018-01-31 05:00:14 +01:00
[![demo](demo.svg)](demo.svg)
2015-03-02 05:28:18 +01:00
## How ?
2014-03-04 23:16:26 +01:00
Download the `has` file. There is no dependency apart from `bash` itself
2014-03-04 23:16:26 +01:00
$ 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
2014-03-04 23:16:26 +01:00
2017-08-31 16:59:01 +02:00
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
2017-08-28 18:57:04 +02:00
## Installing
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:
2017-08-28 18:57:04 +02:00
2017-08-29 14:47:59 +02:00
curl -sL https://git.io/_has | bash -s git node npm
2017-08-28 18:57:04 +02:00
✔ 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
2017-08-28 18:57:04 +02:00
2017-08-29 14:47:59 +02:00
alias has="curl -sL https://git.io/_has | bash -s"
2017-08-28 18:57:04 +02:00
2017-08-31 16:59:01 +02:00
And use it
2017-08-28 18:57:04 +02:00
$ has git
✔ git 2.14.1
## command not understood by has?
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.
2017-08-28 18:57:04 +02:00
2017-10-14 08:58:53 +02:00
## Demo
[![asciicast](https://asciinema.org/a/135790.png)](https://asciinema.org/a/135790)
## Contributing
2017-08-28 19:20:44 +02:00
[![Build Status](https://travis-ci.org/kdabir/has.svg?branch=has)](https://travis-ci.org/kdabir/has)
2017-08-31 11:17:13 +02:00
2017-10-14 08:58:53 +02:00
1. Star the repo, tweet about it, spread the word
2. Update the documentation (i.e. the README file)
3. Adding support for more commands
4. Adding more features to `has`
2017-08-31 11:17:13 +02:00
2017-10-14 08:58:53 +02:00
#### ♥