Sed 替换为两个不同的变量值

Sed Replace With Two Different Variable Values

我想像这样将旧路径变量替换为新路径变量:

script_path=$(readlink -f "[=10=]") #[/home/username/Desktop/script]
desktopfolder_old=/home/username/Desktop
desktopfolder_new=/home/username/NewOne
script_path_new=$(echo "$script_path" | sed -e "s/$desktopfolder_old/$desktopfolder_new/")

因为 bash 脚本在 运行 时将被移动。 但是做不到。会是什么样子?

变量中的那些 / 将在 var 替换后完全弄乱 sed "s/$var...-e 也是多余的。试试看:

script_path_new=$(echo "$script_path" | sed "s|$desktopfolder_old|$desktopfolder_new|")