在我的脚本中,我要求用户指定路径。因为我在Windows上,所以想将所有\
替换为/
。这将是一件容易的事,但是我遇到了一些麻烦:
read -p "Please, type/paste the working path (folder) you wish to link this scripts: " working_dir
我已经按照答案回答了:
https://stackoverflow.com/a/6853452/3286975
tr '\\' '/'
https://superuser.com/a/1068082/634144
home_mf="${home//\\//}"
https://stackoverflow.com/a/50220624/3286975
sed 's/\\/\//g'
但是我没有运气。这就是我要做的:
working_dir=$(echo "$working_dir" | <some of the pipe I typed before>) echo $working_dir
编辑:
所有引用的文本对于该问题都没有用。我以为问题出在这里。但是在read -p
命令下回显$ working_dir:
read -p "Please, type/paste the working path (folder) you wish to link this scripts: " working_dir
echo $working_dir
输出:
为什么反斜杠消失了?我的逻辑认为B
和G
也应转义,否则我错了?
答案 0 :(得分:3)
您要使用-r
的{{1}}开关将不允许反斜杠转义任何字符(如read
所述)。
这将起作用:
help read