11 Comparison Operators - kumar159man/MyShellLearning GitHub Wiki
By using test command we can evaluate the operators
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ test 2 -eq 2 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ test 2 -eq 12 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1
- 0->True
- 1->False
Another way to do that is by using []
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [ 2 -eq 2 ] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [ 2 -eq 12 ] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1
Another way to do that is using . This one is more advanced
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 2 -eq 2 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 2 -eq 21 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 2 -ne 3 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 2 -ne 2 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 5 -lt 3 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 5 -lt 12 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 5 -gt 12 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 15 -gt 12 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 15 -le 12 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 5 -le 12 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 5 -le 5 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 15 -ge 12 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 15 -ge 122 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ 15 -ge 15 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ ! 2 -eq 2 ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ c="" myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -z $c ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ c="CHELSEA" myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -z $c ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ c="" myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -n $c ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ c="CHELSEA" myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -n $c ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ a="Chelsea" myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ b="CHELSEA" myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ $a == $b ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ b="Chelsea" myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ $a == $b ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $?
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $a Chelsea myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $b Chelsea myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ $a != $b ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ b="CHELSEA" myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ $a != $b ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ pwd /home/myubuntu/Desktop/shellScripts myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ ls case1.sh case.sh cmdArg.sh cut.txt first.sh grepUsage.txt regex.txt search.txt second.sh third.sh variables.txt myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -d regex.txt ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -d /home/myubuntu/Desktop/shellScripts/ ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ pwd /home/myubuntu/Desktop/shellScripts myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ ls case1.sh case.sh cmdArg.sh cut.txt first.sh grepUsage.txt regex.txt search.txt second.sh third.sh variables.txt myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -f regex.txt ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -f /home/myubuntu/Desktop/shellScripts/ ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ ls case1.sh case.sh cmdArg.sh cut.txt first.sh grepUsage.txt regex.txt search.txt second.sh third.sh variables.txt myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -e first.sh ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0 myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -e frist.sh ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 1
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ ls case1.sh case.sh cmdArg.sh cut.txt first.sh grepUsage.txt regex.txt search.txt second.sh third.sh variables.txt myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -r first.sh ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -w first.sh ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -x first.sh ]] myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ echo $? 0