我正在组装的 bash 脚本存在一些问题。
$2
是在启动期间提供的类似于“line_old”的字符串。sed 死于
sed: -e expression #1, char 15: unterminated address regex
这是我的代码片段:
redisconfig ()
{
CMD="ssh -q -t -i $HOME/.ssh/amazon-key.pem ubuntu@10.20.10.1"
line_old="ENV['REDIS_URL'] = 'redis://redis:X9g532mq21yY4@ip-10-112-143-152.us-west-2.compute.internal:6379'"
line_new="ENV['REDIS_URL'] = 'redis://redis:X9gKQasdg2yY4@$2:6379'"
updateconfig="$($CMD sed "/$line_old/c\$line_new/" /home/ubuntu/config/testing.rb)"
results="$($CMD grep 'REDIS_URL' /home/ubuntu/config/testing.rb)"
echo $updateconfig
echo $results
}
知道我的 sed 会发生什么吗?非常感谢!