我有一个名为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
答案 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