交互式shell和非交互式shell,login shell和non-login shell。首先,这是两个不同的维度来划分的,一个是是否交互式,另一个是是否登录。

交互式模式就是shell等待你的输入,并且执行你提交的命令。

非交互式模式,脚本。

login shell:是需要用户名、密码登录后才能进入的shell(或者通过”–login”选项生成的shell)

  1. 登录系统时获得的顶层shell,无论是通过本地终端登录,还是通过网络ssh登录。这种情况下获得的login shell是一个交互式shell。
  2. 在终端下使用--login选项调用bash,可以获得一个交互式login shell。
  3. 在脚本中使用--login选项调用bash(比如在shell脚本第一行做如下指定:#!/bin/bash --login),此时得到一个非交互式的login shell。
  4. 使用"su -"切换到指定用户时,获得此用户的login shell。如果不使用"-",则获得non-login shell。

non-login shell:当然就不需要输入用户名和密码即可打开的Shell,例如:直接命令“bash”就是打开一个新的非登录shell,在Gnome或KDE中打开一个“终端”(terminal)窗口程序也是一个非登录shell。

non-login shell与login shell的主要区别在于它们启动时会读取不同的配置文件,从而导致环境不一样。login shell启动时首先读取/etc/profile全局配置,然后依次查找~/.bash_profile、~/.bash_login、~/.profile三个配置文件中的一个,并且读取第一个找到的忽略余下的。login shell退出时读取并执行~/.bash_logout中的命令。

交互式的non-login shell启动时读取~/.bashrc资源文件。非交互式的non-login shell不读取上述所有配置文件,而是查找环境变量BASH_ENV,读取并执行BASH_ENV指向的文件中的命令。

(1)login shell读取的配置文件

/etc/profile 该文件来设置系统的整体环境,通常是一些环境变量的配置。
~/.bash_profile或~/.bash_login或~/.profile三者中的一个,该文件是用户个人设置

(2)non-login shell读取的配置文件

~/.bashrc

通常我们要定制一些配置时,将配置写在~/.bashrc中,然后在~/.bash_profile中读取~/.bashrc,这样可以保证login shell和交互式non-login shell得到相同的配置。至于/etc/profile就不要轻易去改啦,毕竟会影响系统全局的配置。

转载于:https://www.cnblogs.com/naodong/p/6940785.html

shell的各种运行模式?相关推荐

  1. Spark运行模式Local+Standalone+Yarn+mesos

    Spark运行模式Local+Standalone+Yarn+mesos bin/spark-submit --help 注意: --master MASTER_URL spark://host:po ...

  2. Linux 中启用 Shell 脚本的调试模式

    shell 脚本调试系列 Linux 中启用 Shell 脚本的调试模式 在 Shell 脚本中执行语法检查调试模式 在 Shell 脚本中跟踪调试命令的执行 概述 脚本是存储在一个文件的一系列命令. ...

  3. php是isapi运行模式,php isapi运行模式

    PHP 5大运行模式 做 php 开发的应该都知道 php 运行模式概念吧,本文将要和大家分享的是关于php目前比较常见的五大运行模式:包括cgi .fast-cgi.cli.isapi.apache ...

  4. PyCharm编写shell脚本无法运行

    背景 我们常常选择使用PyCharm在本地(Windows)进行开发,然后将文件远程同步到远程服务器(Linux)运行程序,但是这样编写的shell脚本常常无法运行,出现语法错误,因为好几个朋友和我提 ...

  5. laravel log 对象_swoole运行模式加速laravel应用的详细介绍(life)

    本篇文章给大家带来的内容是关于swoole运行模式加速laravel应用的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我的官方群点击此处. 一.Swoole Swoole ...

  6. PHP目前比较常见的五大运行模式

    运行模式 关于PHP目前比较常见的五大运行模式: 1)CGI(通用网关接口/ Common Gateway Interface) 2)FastCGI(常驻型CGI / Long-Live CGI) 3 ...

  7. PHP 五大运行模式

    查看当前php 运行模式 php_sapi_name(); 运行模式 关于PHP目前比较常见的五大运行模式: 1)CGI(通用网关接口/ Common Gateway Interface) 2)Fas ...

  8. 【spark】Spark环境搭建(运行模式)

    一.local本地模式 解压重命名 cd /export/servers tar spark-2.2.0-bin-2.6.0-cdh5.14.0.tgz mv spark-2.2.0-bin-2.6. ...

  9. [ hadoop ] hadoop入门 : 组成架构.环境搭建.运行模式

    1 大数据概论 概念: 指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资产. 需求: ...

最新文章

  1. 学习ui设计的流程是什么
  2. element怎么设置复选框属性_【JavaScript 教程】DOM——属性的操作
  3. mysql差异备份实现_结合Git实现Mysql差异备份,可用于生产环境
  4. Java笔记-Spring-rabbitmq中设置receiveMessage参数为Message
  5. 线性表:链栈算法实现
  6. 剑指Offer之平衡二叉树
  7. 计算机基础win7桌面操作,windows7基本操作方法(零基础的人教学)-win7教程
  8. Android提供了哪些主要UI控件,Android必备:Android UI控件的了解与学习
  9. Unity3D编译器汉化
  10. 前有狗屁不通文章生成器 | 后有申论生成器
  11. bat自动输入密码_如何给电脑文件夹设置密码?一学就会
  12. 为什么要避免使用malloc()和free()函数?
  13. 如何判断时间复杂度和空间复杂度
  14. 韩博士一键重装win8系统的图文步骤
  15. matlab a律非均匀量化,均匀量化和A律PCM非均匀量化实验.doc
  16. jones 的 C语言复习
  17. COPC酞菁钴,cAS号:3317-67-7磺化酞菁钴 催化剂 深蓝色粉末 磺化酞菁钴
  18. 如何将WORD中的公式转为图片
  19. 德鲁克经典管理学书籍
  20. 反病毒工具-火绒剑 博客

热门文章

  1. zip压缩多个文件,解压时不包含目录层级
  2. TFRecord tf.train.Feature
  3. Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释
  4. CRF(条件随机场)与Viterbi(维特比)算法原理详解
  5. PyTorch官方中文文档:torch.optim 优化器参数
  6. Pandas库常用函数和操作
  7. 在idea使用maven工程建立web项目时,启动Tomcat访问不到项目首页。
  8. LeetCode简单题之检查整数及其两倍数是否存在
  9. LeetCode简单题之至少是其他数字两倍的最大数
  10. 2021年大数据Spark(十八):Spark Core的RDD Checkpoint