c++ - 简单的 shell 脚本语法错误 : [ : missing ']'

标签 c++ shell debugging ubuntu command

我正在尝试执行以下等效于以下 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

我该如何解决

最佳答案

if [ [ $x == $1] && [ $y == $2] ]; 替换为 if [[ $x == $1 && $y == $2 ]] ;

关于c++ - 简单的 shell 脚本语法错误 : [ : missing ']' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21036384/

相关文章:

c++ - 需要一个 constexpr 来使 for 循环中的值加倍

linux - 如何在其他目录下创建同名目录?

c++ - Visual C++ : Invalid allocation size. 为什么会这样?

c++ - 带有 unordered_map 的模板代码膨胀

c++ - 日期类型精度对性能的影响

shell - 获取文件中的特定字符并交换列

c - 如何在 Windbg 中打印 C 结构的数据

string - 使用 XE2 进行远程调试 - 显示字符串

c++ - `std::array<T, 0>` 默认可构造,而 `T` 不可默认构造?

c - 使用子进程处理信号 SIGSTP、SIGCONT、SIGINT