sudo heredoc:bash:警告:第 0 行的此处文档由文件结尾分隔(需要“EOF ... EOF”)

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

我的目标是使用 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

有没有关于在没有嵌套 heredoc 的情况下完成 sudo 重定向的建议?

你有很多不必要的图层。

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