解決 Linux Bash 中 syntax error near unexpected token newline 錯誤
Yahya Irmak
2022年5月11日
使用 Bash 指令碼編寫程式碼時,特殊字元或缺少引號可能會導致錯誤。本文將解釋如何解決 Linux Bash 中的 bash: syntax error near unexpected token newline
。
解決 Linux Bash 中的 bash: syntax error near unexpected token newline
錯誤
在 Bash 指令碼中出現 syntax error near unexpected token newline
錯誤有很多與程式碼相關的原因。本文的其餘部分解釋了最常見的錯誤以及修復它們的方法。
如果你收到此錯誤,則很可能是語法錯誤。首先,使用 cat
命令讀取檔案的內容。
cat file.sh
注意特殊字元的使用。 <
字元用於輸入重定向,>
字元用於輸出重定向。
如果你使用這些尖括號,則必須在引號中使用它們。否則會出現錯誤。
例如,下面的程式碼將丟擲 syntax error near unexpected token newline
。
#!/bin/bash
str=<you cannot do this>
但是,你可以使用帶引號的尖括號。下面的程式碼將正常工作。
#!/bin/bash
str="<You can do this>"
使用雙引號或單引號都沒有關係。你也可以按以下方式進行。
#!/bin/bash
str='<You can also do this>'
同樣,你不能在 Bash 命令列引數中使用尖括號。讓我們看看下面的例子。
有一個將使用者名稱和密碼作為引數的登入程式。如果任何引數包含尖括號,你將收到 bash: syntax error near unexpected token newline
錯誤。
./login --username admin --password 1234<
將引數括在單引號或雙引號中以避免錯誤。
./login --username admin --password "1234<"
作者: Yahya Irmak
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn