gpt4 book ai didi

java - 需要转义的所有可能的 linux 路径字符是什么

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:15 27 4
gpt4 key购买 nike

我想知道转义 linux 路径所需的所有字符是什么。例如,对于 ls 命令 'ls/home/user1/My\Music/song\1.mp3',路径/home/user1/My Music/song 1.mp3 需要在 shell 中进行转义。

我想编写一个函数,将字符串作为路径并转义所有需要的字符。在 Scala 中我有:

  def normalizePath(path: String): String = {
var normPath = path.replaceAll(" ", "\\\\ ")
normPath = normPath.replaceAll("\\]", "\\\\]")
normPath = normPath.replaceAll("\\[", "\\\\[")

normPath

知道还有更多的字符需要转义。此外,这可能可以通过一个命令(更复杂的正则表达式)完成吗?

最佳答案

你不应该依赖这个。有很多方法可以解决这个问题(例如设置 FS 环境变量)。只需使用 ProcessBuilder 类来传递命令行参数。

ProcessBuilder proc = new ProcessBuilder("ls", "/home/user1/My Music/song 1.mp3");
proc.start();

关于java - 需要转义的所有可能的 linux 路径字符是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4103348/

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