I have 2 strings and I want to combine them and remove duplicates.
Example:
str1=/home/username
str2=/home/username/project
str3=$str1 $str2
Result:
echo $str3
>> /home/username/project
How do i provided it like str3?
CodePudding user response:
There is no built-in facility for this. If you know that str2
may or may not contain str1
as a prefix, you can exclude it with a parameter expansion:
str3=$str1${str2#"$str1"}
The quotes are necessary to guard against shell metacharacters in the pattern; for example, ${foo#*}
removes everything from foo
whereas ${foo#"*"}
only removes a literal asterisk if present.