Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

KSH check if string starts with substring

Tags:

string

shell

ksh

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?

like image 939
z4y4ts Avatar asked Nov 02 '10 17:11

z4y4ts


People also ask

How do you check if a string starts with a substring in shell script?

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”.

How do you check if a line contains a string in bash?

To check if a string contains a substring in Bash, use comparison operator == with the substring surrounded by * wildcards.


1 Answers

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.

like image 70
Aaron Digulla Avatar answered Oct 06 '22 20:10

Aaron Digulla