执行bash脚本时出错

时间:2016-01-28 12:14:10

标签: bash

我有一个名为1.txt的文件,其中包含数字,例如2, 30,20,1 etc.我试图将此文本文件中的每个数字与数值20进行比较,我想运行一个如果值等于20,则命令,否则退出。

我的代码如下。当我尝试运行bash脚本时,将错误视为

----------
email.sh: line 2: [[2: command not found
email.sh: line 2: [[1: command not found
for f in $( cat 1.txt ); do
   if [[$f -eq "20"]];
   then
      echo "sucess"
   fi
done

2 个答案:

答案 0 :(得分:1)

你应该在if

中的[[之后留出空格
 if [[ "$f" -eq "20" ]];

示例

$ if [[ "$f" -eq "20" ]];    then       echo "sucess";    fi
sucess

<强>为什么吗

在bash中,[[ ]]构造称为extended test command,您始终需要使用空格分隔任何语言的标记。

答案 1 :(得分:-1)

if,语法错误出错。尝试包括空间:

#!/bin/bash
for f in $( cat 1.txt ); do

if [ $f -eq "20" ];

then

echo "sucess"

fi

done