Считается плохим тоном редактировать системные файлы через sed без параметра к опции -i, так как подменяется редактируемый файл.
Могу посоветовать редактор ed с записанным кодом программы в формате heredoc:
Serg7771
О я сразу забраковала ваш подход и напрасно. Довольно интересная ситуация. Если удаляешь первую строчку, то и подставить (substitution) в такой последовательности не получится без конвейера. А если сперва делаешь подстановку в начало первой строки то усложняется способ фильтрации первой строки для удаления которая фактически находится в одном буфере позади вставленной
Добавлено (00:37):
Вот 2 варианта с insert отличающихся только способом переноса строки:
sed -i "1i \127.0.0.1 $hs\\n$ip $hs
/^127/d" /etc/hosts
Есть один неуанс, при повторном запуске скрипта, он изменяет и добавляет первые 2 строки как положено, а вот 3-ю старую оставляет)
Но это уже совсем другая история )
Про команду i правильно сказали. Добавлю только, что лично я бы не стал править конфиги sed'ом в принципе, слишком много там мест, где можно ошибиться (скрипт, дающий желаемый результат с одним исходным конфигом, может изуродовать другой, если чего-то не учесть). augtool для этого прекрасная штука.