Skip to content

Feature Detection Is Better than Version Detection

andychu edited this page Jun 25, 2019 · 12 revisions

Summary: Version Detection like checking $BASH_VERSION or User-Agent == "Mozilla" is bad for portability.

TODO: Fill out this page more.

NOTE: OSH won't pretend it's bash! It is largely compatible with bash, but not identical.

How Do I Use Feature Detection?

In shell (or JavaScript), an easy and effective way is to use eval. (This is perhaps the best justification for eval !

For example, you can test if a shell has declare with something like eval 'declare myvar'; echo $?.

Clone this wiki locally