При наличии файла /tmp/hi
с содержимым: bali=${hi
и выполнении команды для него sed -i -E 's/(^|[^.])hi/\1bi/g' /tmp/hi
получается следующее содержимое в bali=${bi
, как и ожидалось.
Однако выполнение команды sed внутри подпроцесса python3.5:
import subprocess
subprocess.run("sed -i -E 's/(^|[^.])hi/\1bi/g' /tmp/hi", shell=True)
приводит к следующему содержимому: 
проверено файл вvi
и показывает: bali=$^Abi
Почему это происходит и как достичь того же содержимого файла с помощью подпроцесса python3.5?