小编c24*_*24w的帖子

通过附加到当前 tty 的 su 运行heredoc脚本

我正在尝试做这样的事情:

sudo su <<EOF
select x in a b c; do echo "Selected $x"; break; done
EOF
Run Code Online (Sandbox Code Playgroud)

但是,它会终止而不接受输入。

如果我这样做,它会起作用:

sudo su -c 'select x in a b c; do echo $x; break; done'
Run Code Online (Sandbox Code Playgroud)

但用heredoc编写更长的脚本会更好(是的,我知道将它们放在文件中更好)。

我确信这个问题在各个地方都有答案,但我似乎无法找到正确的 bash/heredoc/tty/stdin 搜索词组合。

有什么办法可以实现这一点吗?

su tty stdin here-document

4
推荐指数
1
解决办法
2404
查看次数

标签 统计

here-document ×1

stdin ×1

su ×1

tty ×1