所以我试图编写一个 if else 语句,其中涉及使用diff -q
.因此,假设我有两个文件hi.txt
,hello.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.txt
,hello.txt
即使它们具有完全相同的内容。我收到一条错误消息
./(name of script) line (line with [diff -q hi hello]) [: too many arguments.
我的语法的哪一部分是错误的?
答案1
- 你没有把 diff 放在括号里
- 使用变量的语法是
$hi
所以生成的脚本是:
if diff -q $hi $hello; then
echo "these files are the same"
else
echo "these files are not the same"
fi