我必须用转义的版本替换变量中的所有斜杠、反斜杠、单引号和双引号,可能是在传递中:
' --> '
" --> "
--> \
/ --> /
此时,我使用它来替换单引号:
${MYVAR//'/\'}
但是当我试图一次性替换斜杠、反斜杠、单引号和双引号时,我陷入了困境。
您可以使用 sed 替换:
echo "'"\/" | sed "s~(['"/])~\\1~g"
- sed 命令的简短说明
- SED 手册页
根据评论进行编辑:
EXPLORE_FOLDER="/volume1/video/myMovies"
LS_LIST="$(ls --recursive "$EXPLORE_FOLDER")"
RESULT="$(sed "s~(['"/])~\\1~g" <<<"$LS_LIST")"
echo "$RESULT"
或者只是:
EXPLORE_FOLDER="/volume1/video/myMovies"
RESULT="$(ls --recursive "$EXPLORE_FOLDER" | sed "s~(['"/])~\\1~g" <<<"$LS_LIST")"
echo "$RESULT"