欢迎您访问 Linux基础知识:ShellShell脚本文件 !

Linux基础知识:ShellShell脚本文件

更新时间:2022-11-09 10:26:05作者:佚名

Shell四种运行方式(启动方式)

Shell 是一个应用程序,它的一端连接着 Linux 内核,另一端连接着用户。Shell 是用户和 Linux 系统沟通的桥梁运行启动命令,我们都是通过 Shell 来管理 Linux 系统。

我们可以直接使用 Shell,也可以输入用户名和密码后再使用 Shell;第一种叫做非登录式,第二种叫做登录式。

我们可以在 Shell 中一个个地输入命令并及时查看它们的输出结果,整个过程都在跟 Shell 不停地互动,这叫做交互式。我们也可以运行一个 Shell 脚本文件,让所有命令批量化、一次性地执行,这叫做非交互式。

总起来说,Shell 一共有四种运行方式:判断 Shell 是否是交互式判断是否为交互式 Shell 有两种简单的方法。

1) 查看变量-的值,如果值中包含了字母i,则表示交互式()。

【实例1】在 GNOME 桌面环境自带的终端下输出-的值:

[c.biancheng.net]$ echo $-
himBH

包含了i,为交互式。

【实例2】在 Shell 脚本文件中输出-的值:

[c.biancheng.net]$ cat test.sh
#!/bin/bash
echo $-
[c.biancheng.net]$ bash ./test.sh
hB

不包含i,为非交互式。注意,必须在新进程中运行 Shell 脚本。

2) 查看变量PS1的值,如果非空,则为交互式,否则为非交互式,因为非交互式会清空该变量。

【实例1】在 GNOME 桌面环境自带的终端下输出 PS1 的值:

[mozhiyan@localhost]$ echo $PS1
[u@h W]$

非空,为交互式。

【实例2】在 Shell 脚本文件中输出 PS1 的值:

[c.biancheng.net]$ cat test.sh
#!/bin/bash

echo $PS1
[c.biancheng.net]$ bash ./test.sh

空值,为非交互式。注意,必须在新进程中运行 Shell 脚本。判断 Shell 是否为登录式判断 Shell 是否为登录式也非常简单,只需执行shopt 即可,值为on表示为登录式,off为非登录式。

shopt 命令用来查看或设置 Shell 中的行为选项运行启动命令,这些选项可以增强 Shell 的易用性。

【实例1】在 GNOME 桌面环境自带的终端下查看 选项:

[c.biancheng.net]$ shopt login_shell
login_shell    off

【实例2】按下Ctrl+Alt+Fn组合键切换到虚拟终端,输入用户名和密码登录后,再查看 选项:

[c.biancheng.net]$ shopt login_shell
login_shell    on

【实例3】在 Shell 脚本文件中查看 选项:

[c.biancheng.net]$ cat test.sh
#!/bin/bash
shopt login_shell
[c.biancheng.net]$ bash ./test.sh
login_shell    off

同时判断交互式、登录式要同时判断是否为交互式和登录式,可以简单使用如下的命令:

echo $PS1; shopt

或者

echo $-; shopt

常见的 Shell 启动方式1) 通过 Linux 控制台(不是桌面环境自带的终端)或者 ssh 登录 Shell 时(这才是正常登录方式),为交互式的登录 Shell。

[c.biancheng.net]$ echo $PS1;shopt login_shell

[u@h W]$
login_shell    on

2) 执行 bash 命令时默认是非登录的,增加--login选项(简写为-l)后变成登录式。

[c.biancheng.net]$ cat test.sh
#!/bin/bash
echo $-; shopt login_shell
[c.biancheng.net]$ bash -l ./test.sh
hB
login_shell    on

3) 使用由()包围的组命令或者命令替换进入子 Shell 时,子 Shell 会继承父 Shell 的交互和登录属性。

[c.biancheng.net]$ bash
[c.biancheng.net]$ (echo $PS1;shopt login_shell)
[u@h W]$
login_shell    off
[c.biancheng.net]$ bash -l
[c.biancheng.net]$ (echo $PS1;shopt login_shell)
[u@h W]$
login_shell    on

4)ssh 执行远程命令,但不登录时,为非交互非登录式。

[c.biancheng.net]$ ssh localhost 'echo $PS1;shopt login_shell'
login_shell     off

5)在 Linux 桌面环境下打开终端时,为交互式的非登录 Shell。

桌面环境下打开终端为交互式的非登录Shell

关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。本公众号由站长亲自运营,长期更新,坚持原创,专注于分享创业故事+学习历程+工作记录+生活日常+编程资料。

公众号二维码

为您推荐

华硕a豆增强版这款笔记本是不是性能怎么样怎么样?选购建议

华硕a豆增强版这款笔记本搭载了最新酷睿11代处理器,很多朋友在问这款华硕a豆增强版性能怎么样?华硕a豆增强版一、价格方面:华硕a豆增强版这款目前有两个版本,分为千禧粉和幻彩白两个版本,日常的价格行情分别为:¥6499.对比上面这个价格,这款笔记本是不是符合朋友您具体的预算呢?华硕a豆增强版二、外观屏幕方面:华硕增强版其接口是比较丰富的,主要接口有usb3.华硕增强版接口六、总结:选购建议

2022-11-09 07:10

一个数学概念名称的由来在本身一个个的故事

函数中,有一些概念,它们名称的由来本身就是一个个有趣的故事。“函数”名称的由来二、“偶函数”与“奇函数”名称的由来无论是函数的名称,还是偶函数、奇函数的名称,虽然从现在的概念本质来看,有些名不副实,但是这些名称蕴含了数学概念的起源思想,在源起阶段又那么名副其实。

2022-11-08 21:07

宁波市民汪先生发现一条白头蝰27种已知毒蛇中最毒

11月16日晚,宁波市民汪先生在锦屏街道黄夹岙村发现一条白头蝰。白头蝰属于白头蝰亚科,是蝰科中的原始类群,只有单属独种,世界罕见,在研究管牙类毒蛇的起源与演化上占据重要的地位。2004年被《中国物种红色名录》列为易危动物。王聿凡提醒市民,在户外活动时,遇见毒蛇要尽量避开。若遇蛇追赶,逃跑时应尽量保持“S”形路线。

2022-11-08 20:09

2022年最新消费税税率表(15个)(ntr)

1、消费税是以消费品的流转额作为征税对象的各种税收的统称。是政府向消费品征收的税项,可从批发商或零售商征收。二、消费税税率表以上就是飞外网小编整理的关于2022年最新消费税税率表,从上面看出一般生活类的商品是不在缴税行列的,消费税主要集中在烟酒行业、和汽车、贵金属等奢侈品中,加上我国又是烟酒消费大国,这两类的消费税为我国的财政收入贡献了很大的一部分。

2022-11-08 20:09

2016年北京苹果官方维修售后服务中心信息汇总(组图)

北京苹果官方维修售后服务中心地点太原oppo售后服务维修中心地址提供手机刷机、换屏幕、主板维修服务。提供手机刷机、换屏幕、主板维修服务。提供手机刷机、换屏幕、主板维修服务。提供手机刷机、换屏幕、主板维修服务。提供手机刷机、换屏幕、主板维修服务。提供手机刷机、换屏幕、主板维修服务。华为维修服务中心地址是什么?相关链接如下:华为客户服务中心维修备件价格查询寄修服务预约服务华硕电脑售后维修服务网点华硕电脑售后维修服务网点有:1、华硕襄阳樊城区授权维修服务中心3、安庆萨博数码广场华硕授权维修服务中心11、滁州华创

2022-11-08 17:11

2022年1月5日哥斯拉怪/top/(组图)

怪兽向来是部分影片所热衷的素材,在过去的几十年中,银幕上出现了许多经典怪兽形象,这些怪兽往往有着不同的技能战斗力也有强有弱,下面就为大家盘点一下十大怪兽电影系列。拉顿的形象可以说是超级巨兽中的二五仔,它在日本的电影中,曾帮助过基多拉打败过哥斯拉,也曾帮.

2022-11-08 15:13

加载中...