gpt4 book ai didi

linux - 无法在 Bash 中读取 var

转载 作者:太空宇宙 更新时间:2023-11-04 09:43:32 24 4
gpt4 key购买 nike

我写了一些 Bash 脚本,但在从命令行读取时遇到了问题。我认为这是因为我在 Windows 上编写了脚本。这是代码:

read NEW_MODX_PROJECT

和 Debug模式的输出

+ read $'NEW_MODX_PROJECT\r'

最后我得到了错误

': Ist kein gültiger Bezeichner.DX_PROJECT

我认为英文应该是“': is not a valid identifier.DX_PROJECT”的意思

在 Windows 上编写时,它运行良好。我使用 console2 来测试它,它使用的是 sh.exe。

最佳答案

您的断言是正确的——Windows 使用 CRLF 行分隔符,但 Linux 只使用 LF。

出现奇怪错误消息的原因是,在打印变量名称时,它包含回车符作为其名称的一部分——然后终端跳回到第一列以打印其余的错误消息(它会用消息的结尾覆盖消息的开头)。

有一组称为 dos2unixunix2dos 的实用程序,您可以使用它们轻松地在格式之间进行转换,例如:

dos2unix myscript.sh

如果您碰巧没有它们,您可以使用 tr 实现同样的效果:

tr -d '\r' < myscript.sh > myscript-new.sh

两者都将去除所有回车,并且应该不会混淆。

关于linux - 无法在 Bash 中读取 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18906856/

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