解决 Bash 中意外标记附近的语法错误

Yahya Irmak 2023年1月30日
  1. 修复语法和格式化字符串以解决 bash: syntax error near unexpected token 错误
  2. 使用 dos2unix 命令解决 bash: syntax error near unexpected token Bash 中的错误
解决 Bash 中意外标记附近的语法错误

使用 Bash 脚本、转义序列或引号编写代码可能会导致错误。本文将解释如何解决 Linux Bash 中的 bash: syntax error near unexpected token 错误。

在 Bash 脚本中出现 syntax error near unexpected token 有许多与代码相关的原因。我们将解释最常见的错误以及解决方法。

修复语法和格式化字符串以解决 bash: syntax error near unexpected token 错误

如果你收到此错误,则很可能是语法错误。首先,使用 cat 命令读取文件的内容。

cat file.sh

注意单引号和双引号字符的使用。

如果你使用转义字符,则必须使用双引号。单引号不允许这些字符。

例如,以下代码将在意外标记附近抛出 syntax error near unexpected token '(' 错误。

#!/bin/bash
str='You \'(cannot)\' do this'

语法错误

但是,如果你使用双引号编写相同的代码,则可以使用转义字符。下面的代码将正常工作。

#!/bin/bash
str="You \"(can)\" do this"

此外,另一种方法是在字符串的开头添加 $。这样,$'string' 形式的字符串会被特殊处理。

反斜杠转义序列按照 ANSI C 标准的规定进行解码。

#!/bin/bash
str=$'You \'(can)\' do this'

使用 dos2unix 命令解决 bash: syntax error near unexpected token Bash 中的错误

Unix 操作系统使用换行符 ("\n") 作为行尾,但 Windows 操作系统使用回车和换行符 ("\r\n")。因此,如果你想使用 Cygwin 执行在 Windows 中编写的代码,你可能会收到此错误。

你必须清除回车符才能执行文件。

dos2unix 命令行工具是一个 DOS 到 Unix 文本文件格式转换器,反之亦然。你可以使用此工具使你的文件与 Unix 兼容。

它的用法如下。

dos2unix file.sh

该文件将被转换为 Unix 格式。你现在可以执行该文件。

./file.sh
作者: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn

相关文章 - Bash Error