【问题标题】:syntax error near unexpected token `if' in Bash ScriptingBash 脚本中意外标记“if”附近的语法错误
【发布时间】:2022-01-08 03:48:52
【问题描述】:

尝试查找包含jane 的文件列表中的所有行,然后测试结果是否作为真实文件存在,并将它们的名称附加到文档中。这是我的代码:

#!/bin/bash

> oldFiles.txt

janeSearch=$( grep " jane " ../data/list.txt | cut -d ' ' -f 1,3 )    

for x in $janeSearch;
        if test -e ~/$x: then
                echo $x >> oldFiles.txt
        fi

有人可以解释为什么我会收到以下错误吗?

syntax error near unexpected token `if'

【问题讨论】:

  • 使用;而不是:
  • 另外,您可能在if 之前错过了do
  • 好吧,原谅我的语法不好,我是 bash 脚本的新手!
  • fi 之后还有一个done 与缺少的do 配对。
  • shellcheck.net 是用于检查 shell 代码中的语法错误的绝佳资源。将其添加到您的开发过程中。

标签: bash scripting


【解决方案1】:

建议尝试以下方法

#!/bin/bash

> oldFiles.txt

janeSearch=$( grep " jane " ../data/list.txt | cut -d ' ' -f 1,3 )    

for x in $janeSearch;
        if (test -e ~/$x); then
                echo $x >> oldFiles.txt
        fi
done

【讨论】:

    猜你喜欢
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    相关资源
    最近更新 更多