如何解决使用diff时需要二进制运算符
我开玩笑地开始学习bash,我编写了一个简单的脚本,该脚本应该将2个文件与'diff'进行比较。当我执行此脚本时,出现错误:“ wyjscie-rozwiazanie.out:需要二进制运算符”。
#!/bin/bash
for(( i = 1;i<10; i++ )); do
pom1="cuk$i.in"
pom2="cuk$i.out"
./cuk <cuk_testy/an/in/$pom1 >wyjscie-rozwiazanie.out
echo "----------------------------------------------------------------"
echo " test nr: $i "
if [ diff wyjscie-rozwiazanie.out "cuk_testy/an/out/$pom2" ]
then
echo " !!!!WRONG!!!!"
echo " moja odp: "
cat wyjscie-rozwiazanie.out
echo ""
echo " odp prawdziwa:"
cat cuk_testy/an/out/$pom2
echo $DIFF
else
echo " OK!"
fi
echo "----------------------------------------------------------------"
done
当我添加set -x并运行此脚本时,我进入了终端:
++ (( i++ ))
++ (( i<10 ))
++ pom1=cuk2.in
++ pom2=cuk2.out
++ ./cuk
++ echo ----------------------------------------------------------------
----------------------------------------------------------------
++ echo ' test nr: 2 '
test nr: 2
++ '[' diff wyjscie-rozwiazanie.out cuk_testy/Podzadanie3/out/cuk2.out ']'
./spraw.sh: line 15: [: wyjscie-rozwiazanie.out: binary operator expected
++ echo ' OK!'
OK!
++ echo ----------------------------------------------------------------
----------------------------------------------------------------
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。