У меня есть код:
sudo_cmd="echo -e \\"$cmd\\" >> $CACHE_CONF"
echo "$sudo_cmd"
, которая печатает строку:
echo -e "K1 = 'memcached: // host /' \ nK2
= 'memcached: // host /' \ n ">> /opt/settings.py
, который отлично работает, если я выполню его в оболочке, вот результат settings.py :
K1 = 'memcached://host/'
K2 = 'memcached://host/'
Однако, когда я выполняю эту команду через ssh:
ssh $user@$host "sudo sh -c \"$sudo_cmd\"
результат в settings.py отличается:
K1 = memcached: // host / nK2 =
Memcached: // хост / п
Несмотря на параметр -e для echo , перевод строки не работает.
Что я делаю не так?
Обновление:
str="a\nb"
cat >> settings.py <<< "$str"
тоже не работает.