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?

share|improve this question
  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
share|improve this answer
    
Thanks! I think this did the trick. – Gui Montag Oct 2 '15 at 1:40
4  
if the answer works for you, don't just say thanks - accept it. meta.stackexchange.com/questions/23138/… – cas Oct 2 '15 at 2:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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