虽然
echo pwd | bash -i
作品
echo pwd | login -f root
不起作用。我期望login命令设置一些环境变量并启动一个交互式shell,但显然它有点特别。
login命令有什么用,所以上面的例子不起作用?是否有可以以这种方式使用的login命令的替代方法?
答案 0 :(得分:0)
login命令在工作之前检查它是否连接到tty。您可以使用脚本命令模拟tty,如https://stackoverflow.com/a/1402389/3235192
所述echo pwd | script -qc "login -f root" /dev/null
也适用于heredoc。
script -qc "login -f root" /dev/null << EOF
pwd
EOF