gpt4 book ai didi

shell - 在带有包含路径的变量的 shell 脚本中使用 cd 命令在 Windows 10 主机的 CentOS virtualbox 环境中不起作用

转载 作者:行者123 更新时间:2023-12-04 19:41:57 24 4
gpt4 key购买 nike

背景:

我遇到了一个我的同事都没有遇到过 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

事实:
  • 目录存在。
  • 该变量包含正确的路径。
  • 当尝试使用硬编码路径执行以下命令时,shell 脚本可以工作:
    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/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com