修复 Java 错误 $' ': Command Not Found
本篇文章介绍了 Java 中的 $'\r': command not found
错误。
Java 中 $'\r': command not found 的原因
不同的操作系统使用不同的命令来实现相同的目的。 当我们尝试在 Cygwin 等平台的 Linux 平台上运行 Unix 风格的命令时,会出现错误 $'\r': command not find 。
\r
用于回车,这通常意味着光标应移动到最左侧。 这是此错误的示例。
让我们尝试在 Windows 上使用 Cygwin Bash 永久设置 JAVA_HOME 路径。 使用以下 bash 命令和配置:
.bashrc:
export PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME=$JAVA_HOME:"/cygdrive/C/Program Files/Java/jdk-17.0.2"
.bash_profile:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
现在,上面的代码是 Bash 中的两个文件,试图永久设置 JAVA_HOME
路径。
使用 Cygwin 运行这两个文件时,输出为:
-bash: $'\377\376if': command not found
-bash: $'then\r': command not found
: No such file or directory
-bash: /cygdrive/c/Users/Sheeraz//.bash_profile: line 3: syntax error near unexpected token `fi'
-bash: /cygdrive/c/Users/Sheeraz//.bash_profile: line 3: `fi'
现在错误表明该命令不起作用。 原因是Windows不支持Unix/OSX格式的命令,而Cygwin也被认为是在Windows上运行Linux Unix应用程序的平台。
修复 Java 中的 $'\r': command not found 错误
我们来看看这个错误的解决办法。
解决方案1
当 Windows 或 Cygwin 上出现 $'\r': command not find 错误时,最好的解决方案是使用 dos2unix
命令。
-
dos2unix
将修改换行符或 \r 字符以在 Unix 或 Cygwin 平台上兼容。 -
在使用
dos2unix
命令之前,必须备份文件,因为该命令会修改文件。 如果您还没有备份,请使用命令 unix2dos,这将撤销更改。 -
macOS X 不支持
dos2unix
命令。 -
使用此命令之前,必须安装
dos2unix
。
解决方案2
如果你不想安装dos2unix,那么还有另一个解决方案:
-
我们可以删除导致此错误的 \r 字符。 使用以下命令删除该尾随字符:
sed -i 's/\r$//' filename
- 这里的文件名将是导致错误的文件。
-
-i
选项用于就地编辑。 - 该命令将从输入文件中删除尾随的 \r。
解决方案3
这个就比较简单了。 我们可以使用Notepad++或VScode等软件来更改命令格式。
例如,在 Notepad++ 中:
- 在 Notepad++ 中打开 Bash 文件。
- 转到编辑 -> EOL 转换。
- 选择 Unix/OSX 格式。
- 保存您的文件并运行它。
这三种解决方案将解决上述错误。
相关文章
Java 错误 Could Not Reserve Enough Space for Object Heap Minecraft
发布时间:2023/07/11 浏览次数:125 分类:Java
-
本篇文章介绍了 Java 中的 Could not reserve enough space for object heap 错误。Minecraft 是一款非常流行的用 Java 开发的游戏,我们需要 Java 来运行它。Java 中Minecraft 错误Could not reserve enough space for object h
Java 错误 Cannot Determine a Valid Java Home
发布时间:2023/07/11 浏览次数:148 分类:Java
-
本篇文章介绍了 Java 中的 cannot determine a valid java home 错误。当 Java Home 路径设置不正确时,会出现 cannot determine a valid java home 错误。 我们必须按照以下步骤正确设置我们的 Java Home 来解决这个问
Java 错误 SunCertPathBuilderException: Unable to Find Valid Certification Path
发布时间:2023/07/11 浏览次数:164 分类:Java
-
本篇文章将讨论 unable to find valid certification path to requested target 潜在原因及其在 Java 中的解决方案。Java中的sun.security.provider.certpath.SunCertPathBuilderException是什么
Java 错误 Class Expected
发布时间:2023/07/11 浏览次数:66 分类:Java
-
在本文中,我们将研究 Java 中的“.class” expected错误是什么。“.class” expected错误是编译时错误。 有些人可能会感到困惑,因为他们认为这是一个运行时错误,但这是错误的。
Java 错误 Constructor Is Undefined
发布时间:2023/07/11 浏览次数:192 分类:Java
-
本文将研究 Java 的错误,constructor not defined。Java 中的constructor not defined错误 构造函数未定义是一个非常常见的错误。
修复 Java 错误 Java.Net.SocketException: Permission Denied
发布时间:2023/07/11 浏览次数:124 分类:Java
-
本篇文章介绍了 Java 中的 java.net.SocketException:Permission denied 错误。Java中出现 java.net.SocketException: Permission returned 错误的原因 SocketException 通常在网络连接出现问题时发生。
解决 Java 错误 Unreachable Statement
发布时间:2023/07/11 浏览次数:175 分类:Java
-
本篇文章介绍了 Java 中的 unreachable statement 错误。Java中出现 unreachable statement 错误的原因 当我们尝试在分支控制流语句之后放置语句时,会发生不可到达语句错误。
解决 Java 中 the Public Keys in Reply and Keystore Don't Match 错误
发布时间:2023/07/10 浏览次数:183 分类:Java
-
本篇文章讨论 keytool error: java.lang.Exception: Public keys in reply and keystore don't match 错误。 它还强调了导致此错误的可能原因。此外,我们将了解可用于修复此错误的不同解决方案。
Java 错误 java.util.InputMismatchException
发布时间:2023/07/10 浏览次数:127 分类:Java
-
本文将讨论Java编程语言主线程中的 java.util.InputMismatchException。Java 中的 java.util.InputMismatchException 每当 JVM 收到一种数据作为输入但需要另一种类型的值(这表明数据不匹配)时,它就会抛出 j