【问题标题】:how to specify path with space inside file in linux如何在linux中指定文件内有空格的路径
【发布时间】:2020-03-16 09:39:14
【问题描述】:

cat ~/.last_dir

/mnt/c/Users/Administrator/OneDrive/Desktop/main project/backup/main project 2

cd cat ~/.last_dir

-bash: cd: too many arguments

我尝试在文件中使用反斜杠

/mnt/c/Users/Administrator/OneDrive/Desktop/main\ project/backup/main\ project\ 2

还是一样的错误

【问题讨论】:

    标签: linux ubuntu terminal cd


    【解决方案1】:

    需要引用cat ...展开的结果:

    cd "$(cat ~/.last_dir)"
    

    【讨论】:

      【解决方案2】:
      cd "$(<~/.last_dir)"
      

      首先,在$(...) 周围加上引号,使空格成为文件名的一部分。
      其次,$(&lt;...) 是一个bash 构造,它直接读取文件而不执行cat,但不是完全可移植的。

      对于更通用、更少特定于 bash 的版本,请使用 Maxim 的解决方案。

      【讨论】:

        【解决方案3】:

        只需在路径周围加上引号:

        "/mnt/c/Users/Administrator/OneDrive/Desktop/main project/backup/main project 2"
        

        这应该适用于大多数情况

        【讨论】:

          猜你喜欢
          • 2012-05-09
          • 2020-12-12
          • 2011-03-20
          • 1970-01-01
          • 1970-01-01
          • 2010-10-27
          • 1970-01-01
          • 2014-08-23
          • 1970-01-01
          相关资源
          最近更新 更多