解決 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