如何使用带有zenity文件夹选择内容的变量sed重写脚本

时间:2017-12-25 23:36:03

标签: linux bash sh

我有:

dir="null"

if [ $dir = "null" ] || [ $$dir = "" ] || [ $dir = "1" ] || [ $dir = "0" ]; then
zenity --info --tittle="Launcher Config" --text="locate your server folder"
way="$(zenity --file-selection --directory)"
zenity --info --text="$way"
sed -i 's/^dir=.*/dir="'$way'"/' ls.sh

但终端返回:

sed: -e expression #1, character 16: unknown option for the command 's' (s///?)

我不知道这意味着什么U.U

1 个答案:

答案 0 :(得分:1)

我猜我会$way包含/。如果通过串联字符串构建sed程序,则必须在sed表达式中引用具有特殊含义的所有字符。

尝试

sed -i "s/^dir=.*/dir=${way//\//\\/}/" ls.sh