I have a shell script like below. It works based on a condition that if $table contains test then executes small.sh, elde big.sh.
if [[ "$table" =~ "test" ]] then echo "events" else echo "history" fi
Now I want to check if tables contains test , _test_and_results and success in if [[ "$table" =~ "test" ]].
How can I do that
I have tried like below
if [[ "$table" =~ "test" && "$table" =~ "success" ]];
then
echo "events"
else
echo "history"
fi
But when I pass table name abc1_success It is printing history instead of events.
What am I doing wrong here
Advertisement
Answer
If I understand your question correctly, then you should use ‘or’ instead of ‘and’. Ie || instead of &&.
Your current script is true only if both test and success are found.