0

So I'm trying to write an if else statement which involves the use of diff -q. So, let's say I have two files hi.txt and hello.txt and I store them into variables called hi and hello respectively. I have this piece of code

if [ diff -q $hi $hello ]; then
  echo "these files are the same"
else 
  echo "these files are not the same"
fi

No matter what hi.txt and hello.txt contain, even if they have exactly the same content. I get an error saying

./(name of script) line (line with [diff -q hi hello]) [: too many arguments. 

What part of my syntax is wrong?

5
  1. You don't put diff in brackets
  2. The Syntax to use variable is $hi

so the resulting script is:

if diff -q $hi $hello; then
echo "these files are the same"
else
echo "these files are not the same"
fi

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.