首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区分交互式登录和非交互式非登录shell

区分交互式登录和非交互式非登录shell
EN

Ask Ubuntu用户
提问于 2017-02-03 10:06:21
回答 2查看 60.2K关注 0票数 56

我试图区分这四个术语登录,非登录,交互式和非交互式:

  • 交互式登录外壳
  • 交互式-非登录外壳
  • 非交互式登录shell
  • 非交互-非登录外壳

据我所知

交互式-非登录外壳:启动系统,登录到系统并打开终端

非交互式登录shell: telnet到系统并登录

但是交互登录shell呢?

它是否登录到系统,打开虚拟终端并登录?和

非交互-非登录shell,它在crontab中运行自动脚本吗?

EN

回答 2

Ask Ubuntu用户

发布于 2017-02-03 10:20:24

登录外壳:

登录到会话时在用户ID下执行的第一个进程。登录过程告诉shell作为一个具有约定的登录shell :传递参数0,这通常是shell可执行文件的名称,并加上一个“-”字符。

交互式外壳:

从tty上的用户输入读取命令。除其他外,这样的shell在激活时读取启动文件,显示提示符,并默认启用作业控制。用户可以与shell交互。运行脚本的shell总是一个非交互的shell。

简单地说:交互式shell需要用户输入,而非交互式shell则由脚本运行,不需要用户输入。

票数 4
EN

Ask Ubuntu用户

发布于 2019-10-06 20:13:15

我想提一下,您可以通过以下方式启动交互式登录shell:

  1. 执行sudo /bin/login并键入凭据
  2. 执行exec -l /bin/bash
  3. 执行su -
  4. 和上面所述的答案一样,使用ssh并登录到远程计算机。

此外,您还可以(在bash中)通过输入echo $0来检查它是否是shell,如果输出以一个破折号-开头,那么它就是一个登录shell。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/879364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档