您需要消除反引号并将单引号更改为双引号:
#!/bin/sh
ip=$1
echo $ip
sed -i .bak "\:#start ${ip}:,\:#end ${ip}:d" /usr/local/etc/racoon/racoon.conf
Run Code Online (Sandbox Code Playgroud)
使用双引号将允许扩展变量。反引号将尝试执行命令的标准输出(在这种情况下没有)。例如,如果你这样做了,`echo hi`它会尝试执行“hi”作为命令。sed无论是否进行了替换,除非出现错误,否则始终返回 0。