How to Solve Syntax Error Near Unexpected Token in Bash
-
Fix Syntax and Formatted Strings to Solve
bash: syntax error near unexpected token
Error in Bash -
Use the
dos2unix
Command to Solvebash: syntax error near unexpected token
Error in Bash
Writing code with Bash scripting, escape sequences or quotation marks may cause errors. This article will explain how to solve the bash: syntax error near unexpected token
error in Linux Bash.
There are many code-related reasons for getting a syntax error near unexpected token
in Bash scripting. We will explain the most common mistakes and ways to fix them.
Fix Syntax and Formatted Strings to Solve bash: syntax error near unexpected token
Error in Bash
If you are getting this error, you most likely made a syntax error. First, read the file’s contents with the cat
command.
cat file.sh
Note the use of single-quote and double-quote characters.
If you are using escape characters, you must use double quotes. Single quotes do not allow these characters.
For example, the following code will throw the syntax error near unexpected token '('
error.
#!/bin/bash
str='You \'(cannot)\' do this'
However, if you write the same code with double quotes, you can use escape characters. The code below will work without errors.
#!/bin/bash
str="You \"(can)\" do this"
Also, another way to do this is to add the $
at the beginning of the string. In this way, strings in the form of $'string'
are treated specially.
Backslash escape sequences are decoded as specified by the ANSI C standard.
#!/bin/bash
str=$'You \'(can)\' do this'
Use the dos2unix
Command to Solve bash: syntax error near unexpected token
Error in Bash
Unix operating systems use line feed ("\n"
) as the end of the line, but Windows operating systems use carriage return and line feed ("\r\n"
). So if you want to execute a code written in Windows with Cygwin, you may get this error.
You must clear the carriage return characters to execute the file.
The dos2unix
command-line tool is a DOS to Unix text file format converter and vice versa. You can use this tool to make your file Unix compatible.
Its usage is as follows.
dos2unix file.sh
The file will be converted to Unix format. You can now execute the file.
./file.sh
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn