为了理清楚这个概念,调查了好大一番,看到了一篇觉得很好的文章,留下给自己学习,参考
http://blog.chinaunix.net/uid-29091195-id-3974770.html
登录shell
(1)用户登陆时,输入用户名和密码后启动的shell;
(2)通过带--login参数的命令:bash --login而启动的shell。
非登录shell
用户登录后,直接运行bash命令启动的shell。
登陆shell和非登陆shell的主要区别
对于用户来说主要区别是:启动shell时所执行的startup文件不同。
(1)登录shell的启动文件是/etc/profile、~/.bash_profile
(2) 非登录shell的启动文件是~/.bashrc
shell的运行模式(交互式shell,非交互式shell)
(1)交互式shell
交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
交互式模式又分为四种类型:login,非login,posix以及受限的shell.
login
当Bash作为login shell被激活时,它将依次读取并执行以下文件:
/etc/profile,~/.bash_profile,~/.bash_login,~/.profile
使用--noprofile选项激活Bash可以禁止其读任何初始化文件,在退出时执行 ~/.bash_logout 文件
非login
当Bash作为非login shell被激活时,它将读取并执行~/.bashrc
posix
Bash作为posix模式被激活时,它将先检查$ENV变量是否定义.若定义,Bash读取并执行有$ENV变量扩展而得到的文件,否则不再执行任何初始化文件。
受限的shell
当Bash作为受限模式被激活时,它除了禁止某些操作以外,其他行为于其他模式相同.受限操作有:改变目录,修改$SHELL和$PATH变量, 运行exec,以绝对路径运行程序以及使用重定向.
Bash 1.x中不包含受限模式.
(2)非交互式shell
shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。这种模式主要用来运行Shell脚本.启动后,Bash检查$BASH_ENV变量,若定义,则执行该变量指定文件中包含的命令.
(3)Bash 的激活选项
-c string 该选项表明string中包含了一条命令.如 bash -c ls ~
-i 使Bash以交互式方式运行
-r 使Bash以受限方式运行
--login 使Bash以登录Shell方式运行
--posix 使Bash遵循POSIX标准
--verbose 使Bash显示所有其读入的输入行
--help 打印Bash的使用信息
--version 打印版本信息
--noprofile 感觉这个是针对于登录shell而言,--norc是对于非登录式shell而言的
(Do not read either the system-wide startup file /etc/profile or
any of the personal initialization files ~/.bash_profile, ~/.bash_login, or ~/.profile. By default, bash reads
these files when it is invoked as a login shell (see INVOCATION below).)
--norc 使用--norc选项激活Bash可以禁止执行任何初始化文件
( Do not read and execute the personal initialization file ~/.bashrc if the shell is inter‐
active. This option is on by default if the shell is invoked as sh.)
--rcfile file 使用--rcfile file可以指定执行的初始化文件.
相关推荐
10. **版本兼容性**:MySQL Shell 8.4.0与MySQL 8.x系列数据库服务器高度兼容,同时也能与较早版本的MySQL和MariaDB协同工作。 要安装和使用MySQL Shell,首先需要从官方下载地址...
mysql-shell-8.0.18-windows-x86-64bit.zip MySQL Shell is an advanced command-line client and code editor for MySQL. In addition to SQL, MySQL Shell also offers scripting capabilities for JavaScript ...
2. **JavaScript和Python接口**:对于喜欢使用脚本语言的开发者,MySQL Shell提供了JavaScript和Python两种语言的API,可以编写脚本来自动化执行数据库任务,如数据导入导出、备份恢复等。 3. **JSON支持**:MySQL ...
2. **SQL交互模式**:在SQL模式下,用户可以直接执行SQL查询和脚本,如同使用传统的MySQL客户端。 3. **JavaScript和Python脚本**:在脚本模式下,用户可以编写复杂的逻辑,利用这两种高级语言的特性来管理数据库,...
vmware-shell-ext-thunker.exe
1. **安装与运行**:解压"sqlite-shell-win32-x86-3080200.zip"到任意目录,然后找到sqlite3.exe,双击运行或在命令行中输入其路径启动。 2. **连接数据库**:在命令行中,输入`.open 数据库文件名`,例如`.open ...
2. **资源管理**:可能包括了对CloudShell中资源的创建、查询、更新和删除的辅助函数,简化了与资源池的交互。 3. **脚本自动化**:可能支持自动化脚本的编写,帮助用户执行一系列预定义的操作,如自动化测试流程、...
maven-shell-plugin-1.1.jar
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
unix-shell.chmunix-shell.chmunix-shell.chmunix-shell.chmunix-shell.chm
安装`mysql-shell-8.0.18-linux-glibc2.12-x86-64bit.tar.gz`压缩包时,首先需要解压文件,然后将解压后的二进制文件路径添加到系统的PATH环境变量中,以便于从任何目录下直接运行MySQL Shell。安装完成后,可以通过...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
资源分类:Python库 所属语言:Python 资源全名:adb_shell-0.0.9-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Linux运维-运维系统服务04-Shell脚本d2-shell基础知识-02SHELL介绍.mp4
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
网上可以下到sqlite-shell-win32-x86: sqlite3.exe 2. 为了方便命令行执行,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。 3. 执行 sqlite3 .svn/wc.db "select * from work_queue".看到有4条记录。就是...
解压后,用户可以直接运行这个文件来启动Shell,并开始与MySQL服务器进行交互。需要注意的是,在使用前,用户需要确保已经安装了兼容的MySQL服务器,并配置好相应的连接参数,如主机名、端口、用户名和密码。 总的...
**X-Shell与X-FTP:强大的远程终端与文件传输工具** X-Shell和X-FTP是两个在IT行业中广泛使用的软件,特别是对于系统管理员、网络工程师和开发人员来说,它们是日常工作中不可或缺的工具。X-Shell是一款功能丰富的...
gnome-shell-extension-installer, 用于搜索和安装 extensions.gnome.org的扩展的bash脚本 GNOME shell-扩展安装程序一个bash脚本,用于从 extensions.gnome.org 安装和搜索扩展。 帮助Usage: gnome-shell-extension...
Linux运维-运维系统服务04-Shell脚本d2-shell基础知识-05BASH特性.mp4