is.sh
Fancy alternative for old good test command
is.sh allows you to write conditions which can be read by average human being.
Usage
var=123
if is equal $var 123.0; then
echo "it just works"
fi
if is not a substring $var "foobar"; then
echo "and it's easy to read"
fi
Available conditions
is equal <valueA> <valueB>
- checks if values are the same or if they are equal numbersis matching <value> <regexp>
- checks if whole value matches to regular expressionis substring <value> <string>
- checks if first value is a part of second oneis empty <value>
- checks if value is emptyis number <value>
- checks if value is a numberis gt <numberA> <numberB>
- true if first number is greater than second oneis lt <numberA> <numberB>
- true if first number is less than second oneis ge <numberA> <numberB>
- true if first number is greater than or equal to second oneis le <numberA> <numberB>
- true if first number is less than or equal to second oneis file <path>
- checks if it is a fileis dir <path>
- checks if it is a directoryis link <path>
- checks if it is a symbolic linkis existent <path>
- checks if there is a file or directory or anything else with this pathis readable <path>
- checks if file is readableis writeable <path>
- checks if file is writeableis executable <path>
- checks if file is executableis older <pathA> <pathB>
- checks if first file is older than second oneis newer <pathA> <pathB>
- checks if first file is newer than second oneis true <value>
- true if value is equal “true” or “0”is false <value>
- oposite ofis true <value>
Negations
You can negate any condition by putting not
in front of it:
$ is a number "abc" && echo "number"
$ is not a number "abc" && echo "not a number"
not a number
Links
- Source Code (GitHub);
- Author: Józef Sokołowski;
blog comments powered by Disqus