KSH check if string starts with substring

z4y4ts picture z4y4ts · Nov 2, 2010 · Viewed 52.9k times · Source

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?

Answer

Aaron Digulla picture Aaron Digulla · Nov 2, 2010

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.