我试图区分这四个术语登录,非登录,交互式和非交互式:
据我所知
交互式-非登录外壳:启动系统,登录到系统并打开终端
非交互式登录shell: telnet到系统并登录
但是交互登录shell呢?
它是否登录到系统,打开虚拟终端并登录?和
非交互-非登录shell,它在crontab中运行自动脚本吗?
发布于 2017-02-03 10:20:24
登录外壳:
登录到会话时在用户ID下执行的第一个进程。登录过程告诉shell作为一个具有约定的登录shell :传递参数0,这通常是shell可执行文件的名称,并加上一个“-”字符。
交互式外壳:
从tty上的用户输入读取命令。除其他外,这样的shell在激活时读取启动文件,显示提示符,并默认启用作业控制。用户可以与shell交互。运行脚本的shell总是一个非交互的shell。
简单地说:交互式shell需要用户输入,而非交互式shell则由脚本运行,不需要用户输入。
发布于 2019-10-06 20:13:15
我想提一下,您可以通过以下方式启动交互式登录shell:
sudo /bin/login并键入凭据exec -l /bin/bashsu -此外,您还可以(在bash中)通过输入echo $0来检查它是否是shell,如果输出以一个破折号-开头,那么它就是一个登录shell。
https://askubuntu.com/questions/879364
复制相似问题