If and else statement using diff -q

7,631
  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:
7,631

Related videos on Youtube

Gui Montag
Author by

Gui Montag

Updated on September 18, 2022

Comments

  • Gui Montag
    Gui Montag almost 2 years

    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?

  • Alessio
    Alessio over 8 years
    if the answer works for you, don't just say thanks - accept it. meta.stackexchange.com/questions/23138/…