背景:
我遇到了一个我的同事都没有遇到过 Linux 机器的问题。我有一台 Windows 10 机器,我通过在 shell 脚本中硬编码路径找到了一种解决方法,但这当然是不希望的。
以下是 Jetty 在 Windows 10 上托管的 CentOS 虚拟机中运行的 shell 脚本。如果您熟悉 Jetty,该行尤其位于 jetty.sh 的 #250 行。
问题:
在 shell 脚本中 cd
命令不适用于变量:
cd "$JETTY_BASE"
错误:
: No such file or directory: cd: /opt/jetty
事实:
cd /opt/jetty
问题:
最佳答案
答:
事实证明,在 Jetty.sh 中,有一个配置文件设置了 $JETTY_BASE、$JETTY_HOME 变量。配置文件有 Windows 而不是 Unix 的行尾。将配置文件更改为使用 Unix 后,我将文件复制到 CentOS 虚拟机中,脚本正确执行。
摘要:
如果 Windows 是基于 Linux 的虚拟机的主机,请确保从 Windows 复制到基于 Linux 的虚拟机的文件使用基于 Unix 的行尾。
关于shell - 在带有包含路径的变量的 shell 脚本中使用 cd 命令在 Windows 10 主机的 CentOS virtualbox 环境中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57169233/