sudo heredoc: bash: предупреждение: здесь-документ в строке 0, разделенный концом файла (требуется `EOF ... EOF ') - PullRequest
0 голосов
/ 23 марта 2019

Моя цель - использовать sudo для записи содержимого в файл xstartup другого пользователя.

Но моя попытка ...

sudo -iu user1 bash -lic 'cat > ~/.vnc/xstartup <<\EOF
...
EOF'

... приводит к ...

bash: warning: here-document at line 0 delimited by end-of-file (wanted `EOF...EOF')

Пока что вложенные heredocs работают ...

sudo -iu user1 bash -s <<\OUTER
cat > ~/.vnc/xstartup <<\EOF
...
EOF
OUTER

Есть предложения по перенаправлению sudo без вложенных heredocs?

1 Ответ

2 голосов
/ 23 марта 2019

У вас много ненужных слоев.

sudo -u user1 tee ~user1/.vnc/xstartup > /dev/null <<\EOF
...
EOF
...