История изменений
Исправление Kroz, (текущая версия) :
Не используй обратные кавычки ``
. Вместо них используй "$( )"
.
И вот эта конструкция странная: echo "$cmd" | bash
А еще в bash принято называть переменные большими буквами.
По вопросу:
https://stackoverflow.com/questions/407523/escape-a-string-for-a-sed-replace-...
Updated
insertAfter='#!/bin/bash'
fileName='./file.txt'
insertAfterEsc="$(printf '%s\n' "$insertAfter" | sed -e 's/[]\/$*.^[]/\\&/g')"
cmd="sed \"/$insertAfterEsc/,$ d\" \"$fileName\" "
eval "$cmd" > /tmp/sedHead.txt
Исходная версия Kroz, :
Не используй обратные кавычки ``
. Вместо них используй "$( )"
.
И вот эта конструкция странная: echo "$cmd" | bash
А еще в bash принято называть переменные большими буквами.
По вопросу:
https://stackoverflow.com/questions/407523/escape-a-string-for-a-sed-replace-...
insertAfter='#!/bin/bash'
fileName='./file.txt'
insertAfterEsc="$(printf '%s\n' "$insertAfter" | sed -e 's/[\/&]/\\&/g')"
cmd="sed \"/$insertAfterEsc/,$ d\" \"$fileName\" "
eval "$cmd" > /tmp/sedHead.txt