Можете ли вы увидеть, что идет не так в следующем:
sed -i '' "1h; 1 $ { x; s/CHANGE_THIS/$TMP/; p; }" .zshrc_
ошибка:
sed: 1: "1h; 1 $ { x; s/CHANGE_T ...": invalid command code $
Синтаксис для диапазона адресов: addr1,addr2, а не addr1 addr2.В диапазоне отсутствует запятая:
addr1,addr2
addr1 addr2
sed -i '' "1h; 1,$ { x; s/CHANGE_THIS/$TMP/; p; }" .zshrc_