精华内容
下载资源
问答
  • 交互式网站和非交互式网站
    2020-12-02 20:52:34

    1、当用户登录时或su - 用户名,该文件被读取

    su - root,产生一个交互式登录shell。

    su root,产生一个非登录交互shell。非登录交互shell,只执行 用户家目录下 .profile等配置文件。

    你打开mac终端时,就是交互式登录shell,所以要使你的系统配置所有用户都生效,就要都以交互式登录方式。

     

    对于Bash来说

    登录shell:会首先读取和执行/etc/profile全局配置文件中的命令,然后依次查找~/.bash_profile、~/.bash_login 和 ~/.profile这三个配置文件,读取和执行这三个中的第一个存在且可读的文件中命令。除非被“–noprofile”选项禁止了。

    非登录shell:只读取 ~/.bashrc (和 /etc/bash.bashrc、/etc/bashrc )文件,不同的发行版里面可能有所不同。

     

    2、退出shell

    #查看当前活跃的shell

    ps -ef | grep bash

    #退出当前shell(login 命令登录时,可以用logout退出)

    exit

    #可以查看当前shell ID , 退出shell后,可以执行这个指令来验证是否退出成功

    echo $$

    找到对应系统配置和用户级别配置

     

    交互式与非交互式shell:

    区分:是否与用户进行交互(在终端上执行,shell等待你的输入,并且立即执行你提交的命令。)

    交互式与非交互式shell运行时的区别:

    交互式shell下打开进程时,会启用工作控制job control(会影响到其子进程进程组的编号,作业控制模式下被shell打开的进程,进程组号为进程号),否则不会启用(其打开的进程组号继承父进程的进程组,既运行脚本的非交互式shell进程)。这是linux在作业控制中的设计,我准备另起文章探讨。在shell脚本中,使用set -m可以改变脚本的运行模式开启工作控制。

     

    是否登录与是否交互是两个维度的概念,两两组合的四种情况均会出现:

    1、登录交互式  最常见的登录系统后进行操作使用的shell。

    2、非登录非交互式  常见的shell脚本的运行方式。

    3、非登录交互式   在shell中使用bash调出shell、在系统中打开命令行工具等。

    4、登录非交互式   强制使用登录方式打开的shell脚本。可以改变脚本访问的全局文件,在不少情况下也需要使用(远程使用非登录shell调用脚本但需要登录的全局环境时适用)。

    更多相关内容
  • 非交互式操作:就是你在你的项目中进行程序调用。比如一边是tomcat web服务器,一边是数据库服务器,两者怎么通信?在java web里,我们通常会选择hibernate或者是jdbc来连接。那么这时候就是非交互式操作。  在之前...
  • 主要介绍了Linux下交互式非交互式修改用户密码的例子,本文重点在是讲解了一个交互式修改用户密码的脚本,需要的朋友可以参考下
  • 按照范围来分,可以分为两种: (1)全局配置: /etc/profile /etc/profile.d/*.sh /etc/bashrc (2)个人配置: ~/.bash_profile ~/.bashrc 我们可以根据shell是否是交互式和shell是否是登录式这两个维度,来对...

    Shell俗称壳(用来区别于内核),是指“提供使用者使用界面”的软件,就是一个命令行解释器。
    BASH是SHELL的一种,是大多数LINUX发行版默认的SHELL,除BASH SHELL外还有C SHELL等其它类型的SHELL。

    用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行 shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一 个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来 说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。

    在子 shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内 的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。 export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。

    同时,在我们使用shell的同时,我们应该清楚shell的一些配置文件的存放位置,按照范围来分,可以分为两种:
    (1)全局配置:
    /etc/profile
    /etc/profile.d/*.sh
    /etc/bashrc
    (2)个人配置:
    ~/.bash_profile
    ~/.bashrc

    我们可以根据shell是否是交互式和shell是否是登录式这两个维度,来对shell进行分类。

    交互式shell和非交互式shell(interactive shell and non-interactive shell):
    交互式模式:就是在终端上执行,shell等待你的输入,并且立即执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。当你退出后,shell也终止了。(举例:最常见的交互式shell,就是我们利用虚拟机登录Linux系统时的那个等待登录界面:系统在等待我们键入登录的用户名和密码,这就是一种交互式shell)
    非交互式模式:是以shell script(非交互)方式执行。在这种模式 下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾EOF,shell也就终止了。(举例:非交互式shell就像我们写的那些很简单的脚本,比如一个脚本展示出:helloworld。这个脚本不需要我们对其进行交互,它就只是很简单的将其脚本中的命令按顺序执行)

    登录式shell和非登录式shell:
    登录shell:是需要用户名、密码登录后才能进入的shell(或者通过–login”选项生成的shell)。
    非登录shell:不需要输入用户名和密码即可打开的Shell,例如:直接命令“bash”就是打开一个新的非登录shell,在Gnome或KDE(桌面环境)中打开一个“终端”(terminal)窗口程序也是一个非登录shell。
    执行exit命令,退出一个shell(登录或非登录shell);
    执行logout命令,退出登录shell(不能退出非登录shell)。

    交互式登录shell和非交互式登录shell的区别:
    交互式登录:(清除掉所有变量,通过文件重新读入)
    (1)直接通过终端输入账号密码登录
    (2)使用“su - UserName”切换的用户
    执行顺序:(影响该shell的配置文件)
    /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile–> ~/.bashrc–> /etc/bashrc

    非交互式登录:(会继承上一个shell的全部变量)
    (1)su UserName
    (2)图形界面下打开的终端
    (3)执行脚本 (当我们执行脚本的时候.我们就已经进入到了一个子shell)
    (4)任何其它的bash实例

    执行顺序:(影响该shell的配置文件)
    ~/.bashrc–> /etc/bashrc–> /etc/profile.d/*.sh

    使用./test.sh或者 bash ./test.sh执行脚本的时候,是开启一个子shell,这个子shell能继承上一个父shell的变量,而这个子shell的变量,随着子shell的退出而消失。当我们用. test.sh 或者source test.sh时,不开启子shell,在当前shell运行,子shell中的所有值都影响当前。

    一般我们对shell进行一些配置的时候,通常要根据使用情况进行配置;如果是临时的个人用户就对~/.bashrc进行配置;如果全局环境使用就对/etc/profile文件进行配置

    展开全文
  • 描述了一些关于交互式shell和非交互式shell的区别,属于概念性的东西。
  • 首先我们需要把bash理解为一种模式,我们不如把这种模式想象成类似于洋葱一样的结构,我们可以一层一层剥开,也就是说我们可以一...这牵扯到一个父shell子shell的问题。  用户登录到Linux系统后,系统将启动一个

     首先我们需要把bash理解为一种模式,我们不如把这种模式想象成类似于洋葱一样的结构,我们可以一层一层剥开,也就是说我们可以一层一层的进入子shell。就好比我们进入一栋楼,打开一个房间是一个环境,在当前这个房间我们又看到了一个门,当我们打开这个门的时候,我们就已经进入了新的环境,也就是新的bash中。这牵扯到一个父shell和子shell的问题。

     用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行 shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一 个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来 说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。
     在子 shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内 的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。 export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。
    同时,在我们使用shell的同时,我们应该清楚shell的一些配置文件的存放位置,按照范围来分,可以分为两种:

    (1)全局配置:

    /etc/profile
    /etc/profile.d/*.sh
    /etc/bashrc

    (2)个人配置:

    ~/.bash_profile
    ~/.bashrc

     我们可以根据shell是否是交互式和shell是否是登录式这两个维度,来对shell进行分类。

    交互式shell和非交互式shell(interactive shell and non-interactive shell)

     交互式模式就是在终端上执行,shell等待你的输入,并且立即执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。当你退出后,shell也终止了。
     shell也可以运行在另外一种模式:非交互式模式,以shell script(非交互)方式执行。在这种模式 下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾EOF,shell也就终止了。

     举个例子,最常见的交互式shell,就是我们利用虚拟机登录Linux系统时的那个等待登录界面,大概如下图所示:

    系统在等待我们键入登录的用户名和密码,这就是一种交互式shell,而非交互式shell就像我们写的那些很简单的脚本,比如一个脚本展示出:helloworld。这个脚本不需要我们对其进行交互,它就只是很简单的将其脚本中的命令按顺序执行。

    登录式shell和非登录式shell

      登录shell:是需要用户名、密码登录后才能进入的shell(或者通过--login”选项生成的shell)。
    非登录shell:当然就不需要输入用户名和密码即可打开的Shell,例如:直接命令“bash”就是打开一个新的非登录shell,在Gnome或KDE中打开一个“终端”(terminal)窗口程序也是一个非登录shell。
    执行exit命令,退出一个shell(登录或非登录shell);
    执行logout命令,退出登录shell(不能退出非登录shell)。

    交互式登录shell和非交互式登录shell的区别

    交互式登录:(清除掉所有变量,通过文件重新读入)
    (1)直接通过终端输入账号密码登录
    (2)使用“su - UserName”切换的用户
    执行顺序:(影响该shell的配置文件)
    /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile--> ~/.bashrc--> /etc/bashrc

    非交互式登录:(会继承上一个shell的全部变量)
    (1)su UserName
    (2)图形界面下打开的终端
    (3)执行脚本   (当我们执行脚本的时候.我们就已经进入到了一个子shell)
    (4)任何其它的bash实例
    执行顺序:(影响该shell的配置文件)

    ~/.bashrc--> /etc/bashrc--> /etc/profile.d/*.sh

     使用./test.sh或者 bash ./test.sh执行脚本的时候,是开启一个子shell,这个子shell能继承上一个父shell的变量,而这个子shell的变量,随着子shell的退出而消失。当我们用. test.sh 或者source test.sh时,不开启子shell,在当前shell运行,子shell中的所有值都影响当前。

     一般我们对shell进行一些配置的时候,通常都是对~/.bashrc 和/etc/bashrc这两个文件进行一些配置。

    展开全文
  • 国内外高校门户网站交互式研究.ppt国内外高校门户网站交互式研究.ppt国内外高校门户网站交互式研究.ppt国内外高校门户网站交互式研究.ppt国内外高校门户网站交互式研究.ppt国内外高校门户网站交互式研究...
  • 交互动画式网站设计应用.pdf论交互动画式网站设计应用.pdf论交互动画式网站设计应用.pdf论交互动画式网站设计应用.pdf论交互动画式网站设计应用.pdf论交互动画式网站设计应用.pdf论交互动画式网站设计应用.pdf论...
  • 交互动画式网站设计应用.docx论交互动画式网站设计应用.docx论交互动画式网站设计应用.docx论交互动画式网站设计应用.docx论交互动画式网站设计应用.docx论交互动画式网站设计应用.docx论交互动画式网站设计应用....
  • 曾经写过“交互式shell和非交互式shell、登录shell和非登录shell的区别”,但那时理解相对更浅一些,现在多了一点认识,把这篇文章稍微完善一下吧。 交互式shell和非交互式shell、登录shell和非登录shell的区别。...

    曾经写过“交互式shell和非交互式shell、登录shell和非登录shell的区别”,但那时理解相对更浅一些,现在多了一点认识,把这篇文章稍微完善一下吧。

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

    交互式shell和非交互式shell(interactive shell and non-interactive shell)
    交互式模式就是在终端上执行,shell等待你的输入,并且立即执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。当你退出后,shell也终止了。
    shell也可以运行在另外一种模式:非交互式模式,以shell script(非交互)方式执行。在这种模式 下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾EOF,shell也就终止了。
    可以通过打印“$-”变量的值(代表着当前shell的选项标志),查看其中的“i”选项(表示interactive shell)来区分交互式与非交互式shell。


    登录shell和非登录shell
    登录shell:是需要用户名、密码登录后才能进入的shell(或者通过”–login”选项生成的shell)。
    非登录shell:当然就不需要输入用户名和密码即可打开的Shell,例如:直接命令“bash”就是打开一个新的非登录shell,在Gnome或KDE中打开一个“终端”(terminal)窗口程序也是一个非登录shell。
    执行exit命令,退出一个shell(登录或非登录shell);
    执行logout命令,退出登录shell(不能退出非登录shell)。

    bash是 login shell 时,其进程名为”-bash“ 而不是”bash”。 比如下面的命令行演示:
    man bash: A login shell is one whose first character of argument zero is a -, or one started with the –login option.

    总结一下曾经看在chinaunix论坛中看到的关于登录shell与非登录shell、交互式shell与非交互式shell的讨论:
    Login Shell:当init3时,mingetty spawn出登录提示符的时候,你输入帐号和密码进入了,出现了shell提示符,这个过程就是登录shell;
    Interactive Shell:接下来你得到了一个像“root@host />”这样的提示符,你输入什么,它就解释出什么,这就是交互式shell;你在当前shell又fork了一个 shell(bash),这个bash也是交互式shell。通常情况下interactive shell是login shell派生出来的。
    Non Interactive Shell:你需要写一个bash script,用外部shell执行“bash script.sh”命令,它(bash)从可以第一条命令执行到最后一条然后退出,不与你进行任何交互,它就是非交互式shell。
    交互式非登录shell,例如你在Gnome图形界面中打开“终端”出来的那种窗口程序,和登录shell相比,它是“非登录”的,你并不需要输入用户名和密码,和非交互式shell相比,这是“交互式”的,就像你说的那它“你输入什么,它就解释什么”。

    对于Bash来说,登录shell(包括交互式登录shell和使用“–login”选项的非交互shell),它会首先读取和执行/etc/profile全局配置文件中的命令,然后依次查找~/.bash_profile、~/.bash_login 和 ~/.profile这三个配置文件,读取和执行这三个中的第一个存在且可读的文件中命令。除非被“–noprofile”选项禁止了。
    在非登录shell里,只读取 ~/.bashrc (和 /etc/bash.bashrc、/etc/bashrc )文件,不同的发行版里面可能有所不同
    ,如RHEL6.3中非登录shell仅执行了“~/.bashrc”文件(没有执行/etc/bashrc),而KUbuntu10.04中却依次执行了/etc/bash.bashrc 和 ~/.bashrc 文件。
    对于这些规则,可以直接在相应的配置文件中加一些echo命令来验证其真实性。

    参考资料:man bash (搜索interactive、login等关键)

    展开全文
  • 交互式计算机图形学 基于OpenGL着色器的自顶向下方法 第6版_中文版
  • python之SSH(交互式和非交互式)

    万次阅读 2017-09-04 19:13:03
    python中有一个paramiko,功能强大,用来做SSH比较方便 ... res=chan.recv(1024)#必须,接受返回消息 chan.close() 注意invoke_shell这个函数即可 另外使用这个函数命令后面记得加“\n”
  • 按照bash是否与用户进行交互,可以将其分为“交互式”与“非交互式”;而按照bash是否被用户登陆,又可将其分为“登陆shell”与“登陆shell”。本文以CentOS系统为例,着重讨论总结了shell的“交互”与“登陆”...
  • 非交互式是参考shamir的方案,可能不是其他论文的非交互式的零知识证明方案,不一定正确。
  • 摘要:在进行环境变量设置命令别名的设置的时候,常常会接触到四个概念:交互式bash、非交互式bash、login bashno login bash。本文主要来澄清这四个概念。 本文来源:bash 深入理解:交互式shell和非交互式...
  • 交互式运行代码会直接给出表达式的结果,运行代码文件必须print才能在控制台看到结果。直接给出结果:没有print是看不到结果的:有print才能看到结果:另:交互式中可以用下划线 `_` 来查看上一次输出的结果。如果...
  • fdisk非交互式分区方法

    千次阅读 2017-11-24 17:26:05
    那么有时候我们可能需要在程序里调用,这时候有没有非交互式方法呢? 答案是有的,下面我介绍下。 新建一个文件,比如autopart.txt 里面输入如下: n p 1 w q 中间两个空白的是回车符 对应的是分区的起始...
  • 电脑总是会弹出交互式服务检测窗口,无法关掉,只能“点击稍后提醒我”,但一会儿又会提醒,这让人感觉很烦。其实,只要在系统服务里将Interactive Services Detection服务禁用即可解决此问题,下面,小编跟大家分享...
  • linux 运维之新建用户,非交互式修改密码,用户对用户组没有啥要求,就是新建普通用户,如果有特殊要有还需要添加参数 使用: useradd admin 新建用户 使用非交互式修改密码: echo 1234.com | passwd --stdin ...
  • 如何在交互式环境中执行 Python 程序

    千次阅读 2021-02-03 12:44:53
    如何在交互式环境中执行 Python 程序相信接触过 Python 的小伙伴们都知道运行 Python 脚本程序的方式有多种, 目前主要的方式有: 交互式环境运行命令行窗口运行开发工具上运行等, 其中在不同的操作平台上还互不相同...
  • 交互式计算机图形学-基于OpenGL着色器的自顶向下方法(第六版).pdf 交互式计算机图形学-基于OpenGL着色器的自顶向下方法(第六版).pdf 交互式计算机图形学-基于OpenGL着色器的自顶向下方法(第六版).pdf 交互式...
  • C#开发交互式CAD系统

    热门讨论 2013-02-26 18:26:25
    可实现动态缩放功能以及对象捕捉功能,仿AutoCAD的简易交互式CAD系统。由于代码没写详细注释,欢迎来私信或邮件询问。
  • 基于交互式多模型算法进行仿真,.程序中采用了两个模型,将CV,CA模型混合起来进行估计,仿真场景可以自己设计,完成车辆位置跟踪。
  • 问题详情DCOM配置里 自己创建的服务属性里 交互式用户启动用户 是灰色的?迷茫了~DCOM配置里 自己创建的服务属性里 交互式用户启动用户 是灰色的?迷茫了~作者: thesuper发布时间: 2007-05-261. 运行NT服务器上...
  • 什么叫做交互式python解释器个例子来说明交互式解释 (看看 Onion -老杨解释的内容如下)例:创建文件zoo.py。在该文件义函数hours(),输出字符串'Open 9-5 daily'。然后使用交互式解释器导入模块zoo并调用函数hours()...
  • 基于交互式多模型算法进行仿真,.程序中采用了两个模型,将CV,CT模型混合起来进行估计,仿真场景可以自己设计,完成车辆位置跟踪。
  • 有关win10系统打印机出现交互式服务检测的操作方法想必大家有所耳闻。但是能够对win10系统打印机出现交互式服务检测进行实际操作的人却不多。其实解决win10系统打印机出现交互式服务检测的问题也不是难事,小编这里...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 711,967
精华内容 284,786
关键字:

交互式网站和非交互式网站