【发布时间】:2014-01-28 22:59:26
【问题描述】:
我正在尝试执行以下 c++ 脚本的 shell 等效项
int x=1;
int y=2;
int k=0;
for (int i=0;i<10;i++)
{
for (int j=0;j<10;j++)
{
if ( (x==1) && (y==2) )
{
k=1;
}
}
}
我总是遇到奇怪的语法错误,比如[ 或其他东西之间必须有空格,我相信这是其中一个原因
这就是我的示例代码的样子
for x in ${title[@]}
do
for y in ${author[@]}
do
if [ [ $x == $1] && [ $y == $2] ]; # error : [: missing ']'
then
error=1
return "$error"
fi
done
done
我该如何解决
【问题讨论】:
-
]必须是一个单独的参数;它不是关键字。因此,至少您需要在 2 和]之间留一个空格。然后给你一个无效的外部[命令;您需要使用[[和]]测试,或者您需要更仔细地重写[...]命令(可以说,作为[命令的两次调用)。 -
如果您指定了您正在使用的 哪个 shell,将会有所帮助。
标签: c++ shell debugging ubuntu command