【问题标题】:Concatinating paths in bash (.sh) resolves in path with '$'\r''bash (.sh) 中的连接路径在路径中解析为 '$'\r''
【发布时间】:2023-04-10 19:06:01
【问题描述】:

我从一个类似如下的命令得到一个字符串:

part1=$(pip install numpy 2>&1)

part1 存储了一些变量,例如:c:\programdata\anaconda3\lib\site-package

现在我想将“numpy”附加到它。为此,我尝试了:

part1+=/numpy

以及此处列出的所有其他解决方案: How to concatenate strings in bash

但是输出看起来像这样:'c:\programdata\anaconda3\lib\site-packages'$'\r''/numpy'

我该怎么做才能消除这种影响?

我正在使用 Windows10 和脚本 .sh 文件。

【问题讨论】:

    标签: string bash shell path


    【解决方案1】:

    你可以使用:

    part1="${part1/$'\r'}/numpy"
    

    这里"${part1/$'\r'} 用空字符串替换\r$'\r' 是用于输入转义序列的特殊 bash 构造。

    【讨论】:

    • 谢谢你的工作,你能解释一下你做了什么吗?(​​我认为它是某种删除 \r 部分的正则表达式?
    • 我在回答中添加了解释。
    猜你喜欢
    • 1970-01-01
    • 2017-04-09
    • 2021-09-23
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多