解决在/etc/profile文件中添加Java环境变量后执行报unexpected token的错误

错误描述:

在/etc/profile文件结尾设置了Java的环境变量保存后执行“source /etc/profile”或重登录后报如下错误:

解决在/etc/profile文件中添加Java环境变量后执行报unexpected token的错误_第1张图片

使用“env”命令查看系统环境变量发现没有设置成功。

原因分析:

因为使用了FlashFXP软件在Windows系统下打开修改的/etc/profile文件导致文件的系统格式发生变化。Dos和Windows采用回车+换行CR/LF表示下一行,而UNIX/Linux采用换行符LF表示下一行,苹果机(MAC OS系统)则采用回车符CR表示下一行。CR用符号“\r”表示, 十进制ASCII代码是13, 十六进制代码为0x0D;LF使用“\n”符号表示, ASCII代码是10, 十六制为0x0A。所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示。一般操作系统上的运行库会自动决定文本文件的换行格式。如一个程序在Windows上运行就生成CR/LF换行格式的文本文件,而在Linux上运行就生成LF格式换行的文本文件。在一个平台上使用另一种换行符的文件文件可能会带来意想不到的问题, 特别是在编辑程序代码时。有时候代码在编辑器中显示正常, 但在编辑时却会因为换行符问题而出错。上述错误就是因为使用了Windows系统下的记事本打开修改profile文件导致换行符被转换成了CR/LF,而在Linux系统下执行时就会因为识别不出回车符CR而报unexpected token错误。

解决方案:

我们可以使用Notepad++这个文本编辑器来进行不同操作系统文本格式的转换。使用Notepad++打开profile文件后在菜单栏中选择“编辑”->“档案格式转换”->“转换为UNIX格式”保存后则会将Windows的换行符CR/LF转换为Linux的LF,此时再在Linux系统下执行“source /etc/profile”便不会再报上述的错误,环境变量也将设置成功。

解决在/etc/profile文件中添加Java环境变量后执行报unexpected token的错误_第2张图片



你可能感兴趣的:(Linux)