Fancy alternative for old good test command.
In order to use is.sh you can install it with one of following 1-liners:
# Unix-like$ sudo sh -c 'cd /usr/local/bin && wget raw.githubusercontent.com/qzb/is.sh/latest/is.sh -O is && chmod +x is'# NPM$ npm install -g is.sh
If you don't want to install is.sh system-wide you can just download it and source it from your script:
$ wget raw.githubusercontent.com/qzb/is.sh/latest/is.sh$ source ./is.sh
is equal $valueA $valueB- checks if values are the same or if they are equal numbers
is matching $regexp $value- checks if whole value matches to regular expression
is substring $valueA $valueB- checks if first value is a part of second one
is empty $value- checks if value is empty
is number $value- checks if value is a number
is gt $numberA $numberB- true if first number is greater than second one
is lt $numberA $numberB- true if first number is less than second one
is ge $numberA $numberB- true if first number is greater than or equal to second one
is le $numberA $numberB- true if first number is less than or equal to second one
is file $path- checks if it is a file
is dir $path- checks if it is a directory
is link $path- checks if it is a symbolic link
is existent $path- checks if there is a file or directory or anything else with this path
is readable $path- checks if file is readable
is writeable $path- checks if file is writeable
is executable $path- checks if file is executable
is available $command- checks if given command is available
is older $pathA $pathB- checks if first file is older than second one
is newer $pathA $pathB- checks if first file is newer than second one
is true $value- true if value is equal "true" or "0"
is false $value- oposite of
is true $value
You can negate any condition by putting not in front of it.
$ is number "abc" && echo "number"$ is not number "abc" && echo "not a number"not a number
You can add a, an, and the articles before condition name.
$ is a number 5$ is not a substring abc defghi