当我在 Bash 中手动输入 Windows 路径时, 我想将其转换为 POSIX 路径并将其保存在变量中。 但不会转义转义字符。
我想输入 C:\Users\xiang\Downloads\Compressed
并将其转换为
/c/users/xiang/downloads/compressed
#!/bin/sh
read -rp "Enter a path: " pth
dir=$(echo "/$pth" | sed -e 's/\\/\//g' -e 's/://')
cd ${dir}
git status
read -n 1 -s -r -p "Press any key to continue"
exit 0;
最佳答案
问题是 Windows 路由中的反斜杠被认为是转义字符的一种方式。
这里你有两个选择,要么你用双反斜杠写路由 (C:\\Users\\...) 或者你可以使用 read -rp "Enter a path: "pth
(注意 r)。
我个人更喜欢第二个选项,因为你不必告诉其他用户用双反斜杠写路由,而且更简单。
关于windows - Bash中手动输入Windows路径,如何转换为POSIX路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56891171/