• 交互式的Bourne shell


    简介

    当以交互的方式使用命令行时,shell有一些特殊的内置变量,这些变量中包含一系列选项。如果在选项中包含字母i,则表示shell以交互方式运行。

    • # case "$-" in

      > *i*) echo This shell is interactive;;
      > *) echo This shell is not interactive;;
      > esac
    以上小脚本检测是否以交互方式运行。

    如果Bourne shell是登录shell,它将跟在一系列进程之后启动,然后用户才能看到shell提示符,基本的启动过程如下:

    1. 系统要运行的第一个进程是init,他的PID是1。它从文件inittab文件读取指令(System V系统),或者派生一个getty进程(BSD系统)。这些进程打开终端端口,以提供标准输入来源、标准输出和标准错误输出的去处,并且在屏幕上显示一个登陆提示符。
    2. 接下来执行/bin/login程序。提示用户输入口令、加密并验证用户输入的口令、设置初始环境、启动用户的登录shell(登录shell是passwd文件的最后一项,对本章而言就是/bin/sh)。进程首先查找系统文件/etc/profile,并且执行其中的命令。然后在用户的主目录下查找名为.profile的初始化文件。执行完文件.profile中的命令后,屏幕上将显示默认的命令提示符$,然后Bourne shell等待用户输入命令。针对启动到图形界面、虚拟桌面、一个用来启动shell终端的子菜单这种情形比刚刚描述的启动过程要复杂的多。

    环境

    进程的环境包括:变量、打开的文件、当前的工作目录、函数、资源限制、信号等。它定义了可以从一个进程继承到下一个进程的特性,以及对当前工作环境的配置。用户shell的配置定义在shell的初始化文件中。

    未完待续……

  • 相关阅读:
    课程设计-远程安防监控-个人报告
    实验八 Web基础 SQL注入原理
    实验七 网络欺骗
    实验六 信息搜集
    实验五---渗透测试实战
    实验四 系统监测和恶意代码分析 20155104 赵文昊
    实验三 免杀实践 赵文昊20155104
    给一寸照片换背景色
    Linux 流程控制语句 if else、for、while、until
    Linux 条件判断
  • 原文地址:https://www.cnblogs.com/cf532088799/p/7733957.html
Copyright © 2020-2023  润新知