使用 diff -q 的 if 和 else 语句

使用 diff -q 的 if 和 else 语句

所以我试图编写一个 if else 语句,其中涉及使用diff -q.因此,假设我有两个文件hi.txthello.txt并且我将它们分别存储到名为 hi 和 hello 的变量中。我有这段代码

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

无论包含什么内容hi.txthello.txt即使它们具有完全相同的内容。我收到一条错误消息

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

我的语法的哪一部分是错误的?

答案1

  1. 你没有把 diff 放在括号里
  2. 使用变量的语法是$hi

所以生成的脚本是:

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

相关内容