我想将旧路径变量替换为新路径变量,如下所示:
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脚本在运行时会被移动。 但是做不到。会是什么样的?
答案 0 :(得分:1)
变量中的/
个变量将在var替换后完全弄乱sed "s/$var...
。 -e
也是多余的。请尝试改为:
script_path_new=$(echo "$script_path" | sed "s|$desktopfolder_old|$desktopfolder_new|")