gpt4 book ai didi

bash - Ubuntu bash –eq : binary operator expected - nested for loop

转载 作者:行者123 更新时间:2023-12-04 19:06:39 25 4
gpt4 key购买 nike

我正在尝试为我的学习作业制作 Linux bash,我认为一切都很好(检查了许多资源),但仍然出现错误( –eq: binary operator expected )。我的例子有什么问题?

for (( i=1; i <= 3; i++)) ### Outer for loop ###
do
for (( j=1; j <= 3; j++)) ### Inner for loop ###
do
tot=$(expr $i + $j)
echo „tot value: $tot”
tmp=$(expr $tot % 2)
echo „tmp value: $tmp”
if [ $tmp –eq 0 ]; then
echo –e –n „\033[47m ”
else
echo –e –n „\033[40m”
fi
done
echo –e –n „\033[40m” #### set back background colour to black
echo „” #### print the new line ####
done

最佳答案

您在 –eq 中使用了错误的字符.它应该是减号( - ),而不是连字符( )。您在 echo 上使用的连字符也是如此。线。
也可以考虑使用 bash的内置算术扩展而不是 exprtest :

#!/bin/bash

for (( i=1; i <= 3; i++)) ### Outer for loop ###
do
for (( j=1; j <= 3; j++)) ### Inner for loop ###
do
(( tot = i + j ))
echo "tot value: $tot"
(( tmp = tot % 2 ))
echo "tmp value: $tmp"

if (( tmp == 0 )); then
echo -e -n "\033[47m "
else
echo -e -n "\033[40m"
fi
done
echo -e "\033[40m" #### set back background colour to black
done

关于bash - Ubuntu bash –eq : binary operator expected - nested for loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67470109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com