I need to check if the variable has value of string which starts with specified substring.
In Python it would be something like this:
foo = 'abcdef'
if foo.startswith('abc'):
print 'Success'
What is the most explicit way to check in Ksh whether strig $foo
starts with substring bar
?
We can use the double equals ( == ) comparison operator in bash, to check if a string starts with another substring. In the above code, if a $name variable starts with ru then the output is “true” otherwise it returns “false”.
To check if a string contains a substring in Bash, use comparison operator == with the substring surrounded by * wildcards.
It's very simple but looks a bit odd:
if [[ "$foo" == abc* ]]; then ...
One would assume that ksh would expand the pattern with the files in the current directory but instead, it does pattern matching. You need the [[
, though. Single [
won't work. The quotes are not strictly necessary if there are no blanks in foo
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With