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

时间:2015-10-31 21:50:23

标签: bash variables replace sed sh

我想将旧路径变量替换为新路径变量,如下所示:

script_path=$(readlink -f "$0") #[/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脚本在运行时会被移动。 但是做不到。会是什么样的?

1 个答案:

答案 0 :(得分:1)

变量中的/个变量将在var替换后完全弄乱sed "s/$var...-e也是多余的。请尝试改为:

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