我正在学习 bash 并试图了解进行替换并将其分配给变量的不同方法。
具体来说,我将 Unix 斜杠 ('/') 更改为 Windows ('\')。
参考:
感谢赛斯和特顿。
更新后的版本。原文在底部。
#!/bin/bash
origPath="/home/django_auth_lifecycle/urls.py"
path=$origPath
path=${path//\//\\} #Works
echo "Via bash (2-slash, no-g): $path"
path=$origPath
path=${path//\//\\} #Works
echo "Via bash (no dollar): $path"
path=$origPath
echo "${path}" | sed -e 's/\//\\/g' #Works, but don't know how to assign to var
#echo "Via sed (slash, quotes): $path"
path=$origPath
path=$(echo "$path" | sed s/'\/'/'\\'/g) #Works
echo "Via sed (slash, quotes): $path"
path=$origPath
path=$(echo $path | sed s:'\/':'\\':g) #Works …Run Code Online (Sandbox Code Playgroud)