Script doesn't understand if conditiojn with or

I Bourne shell I have a lines

 #!/bin/sh
 something
 for file in *_${Today}*.csv *_${Today}*.txt
 do
  if [ -f "LET_daily_trans_${Today}.csv" ||  -f "LET_daily_trans_345_${Tod
ay}.csv" ]
  then
                echo "This file will be processed in separate script"
                continue
  fi
something
 done
 

The script doesn't understand if condition. Could you please let me know what is wrong?

Thanks for contribution

if [ -f "LET_daily_trans_${Today}.csv" ] ||  [ -f "LET_daily_trans_345_${Today}.csv" ]

When I put it this way

 if [ -f "LET_daily_trans_${Today}.csv" ] ||  [ -f "LET_daily_trans_345_${Today}.csv" ]
 

if check this condition for all my files, which doesn't have LET in the name

PLEASE get used to the habit of posting DATA, CONTEXT, ERROR messages, etc. so people can understand and/or analyse WHAT goes wrong.

Your statement is difficult to understand and believe. As long as there is a (any) file named LET_daily_trans_${Today}.csv or LET_daily_trans_345_${Today}.csv , with Today having a matching contents, the condition is true irrerspective of any other file name that you might work upon.

if [ "$file" = "LET_daily_trans_${Today}.csv" ] ||  [ "$file" = "LET_daily_trans_345_${Today}.csv" ]

@Don, the use of double == in a test command is not part of the POSIX standards. rdrtx1's suggestion is grammatically correct.

See test: operands

Hi Scrutinizer,
Yes, you are absolutely correct. I have deleted my post with the incorrect suggestion.

Sorry,
Don