Поскольку вы используете двойные кавычки, Bash сначала оценивает всю строку, а затем выполняет ее.
Замените вашу первую строку на / bin / bash -c echo «\
, и вы увидите следующий код, который пытается выполнить bash -c
.
/bin/bash -c echo "\
…
touch \$A; ); echo $( echo in subshell, \$A; ); "
echo in subshell, \$A; ); "
touch \$A; ); echo $( echo in subshell, \$A; );
touch \$A;
echo in subshell, \$A; );
echo in subshell, \$A;
Вместо этого используйте одинарные кавычки.
Решением проблемы стала очистка и переустановка sendmail. И оказалось, что мне не нужен был Postfix, так что это тоже могло быть частью проблемы. Хотя я не совсем уверен.
apt-get purge sendmail sendmail-cf m4 postfix
В любом случае мне не нужно было изменять пользователя данных www -.