shell超基础入门(超详细)

♥️作者:小刘在C站

♥️个人主页:************************************************************************************************************************************************************************************************************************************************************小刘主页****************************************************************************************************************************************************************************************************************************************************************

♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生!

♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏: 云计算技术

♥️小刘私信可以随便问,只要会绝不吝啬,感谢CSDN让你我相遇!

目录

1.shell的由来

2.什么是shell

3.shell可以干什么

补充:

4.shell变量

1)常用的系统环境变量

[2) 变量中常用命令](#2) 变量中常用命令)

5.变量分类

1)自定义变量

变量定义规则:

2)全局变量与局部变量

6.特殊变量

[n](#n)

$#

\*、@


哈喽好久不见!大家好我是小刘,因为一些缘故我没有更新博文,也有一个月了,分享我在学习shell的有趣问题,谢谢大家一路陪伴!

1.shell的由来

在 AT&T 的 Dennis Ritchie 和 Ken Thompson 设计 UNIX™ 的时候,他们想要为用户创建一种与他们的新系统交流的方法。

那时的操作系统带有命令解释器。命令解释器接受用户的命令,然后解释它们,因而计算机可以使用这些命令。

但是 Ritchie 和 Thompson 想要的不只是这些功能,他们想提供比当时的命令解释器具备更优异功能的工具。这导致了 Bourne shell(通称为 sh)的开发,由 S.R. Bourne 创建。自从 Bourne shell 的创建,其它 shell 也被一一开发,如 C shell(csh)和 Korn shell(ksh)。

当自由软件基金会想寻求一种免费的 shell,开发者们开始致力于 Bourne shell 以及当时其它 shell 中某些很受欢迎的功能背后的语言。

2.什么是shell

shell是一个命令解释器,它在接受应用程序/用户命令时候调用操作系统内核进行解释,从而达到执行我们所输入的命令,获得结果。另外shell还是一个功能强大的编程语言,易编写,易调试,灵活性高。

shell在硬件与用户之间充当翻译官,这就是他的作用

3.shell可以干什么

shell是可以在我们生活或办公中实现自动化运维,自动化办公,编写脚本,等等

补充:

(1)在Linux中我们所输入命令的地方为bash终端控制台如以下:.

(2)shell脚本格式

shell脚本开头#!/bin/bash //指定shell脚本中解析器

查看Linux提供的shell解析器命令:

bash 复制代码
cat /etc/shellsd

(3)shell脚本的执行方法

bash shell脚本路径

sh shell脚本路径

以上为要启动bash子程序中进行运行脚本

source shell脚本路径

. shell脚本路径

以上为不用启动子bash程序进行运行脚本

4.shell变量

1)常用的系统环境变量

$HOME $PWD $SHELL $VSER

2) 变量中常用命令

echo $变量 //查看系统变量的值

env //查看系统所有的全局变量

set //查看当前所有定义的变量

5.变量分类

变量中可分为系统变量和用户自定义变量

1)自定义变量

基本语法:

1.定义变量:变量=变量值 //注意=前后不可以有空格

2.撤销变量:unset 变量名

3.声明静态变量:read only 变量 //注意不能unset

变量定义规则:

(1)变量名称可以由字母,数字和下划线组成,但是不能以数字开头,环境变量名建议大写

(2)等号两侧不可以有空格

(3)在bash中.变量默认类型都是字符串类型,无法直接进行数值运算

(4)变量的值如果有空格,需要使用双引号或单引号括起来

2)全局变量与局部变量

变量又分全局变量与局部变量

全局变量:在子bash进程中也可以查看到

局部变量:在脱离创建变量的本控制台以后就无法查找到此变量

注意:在父bash中提升全局为全局可见,在子bash中改变量只在bash中生效退出子bash以后还原

exprot 局部变量 //局部变量前无需加$开头

unset:

unset 变量 //将赋予变量的值撤销

readonly:

readonly //变量及赋值+

6.特殊变量

$n

1)语法

(功能描述:n 为数字,$0 代表该脚本名称,$1-9 代表第一到第九个参数,十以n上的参数,十以上的参数需要用大括号包含,如S$10

$#

2)语法

(功能描述:获取所有输入参数个数,常用于循环.判断参数的个数是否正确以及加强脚本的健壮性)。

\*、@

1)本语法

\* (功能描述:这个变量代表命令行中所有的参数,*把所有的参数看成一个整体)

@ (功能描述:这个变量也代表命令行中所有的参数,不过@把每个参数区分对待)

♥️关注,就是我创作的动力

♥️点赞,就是对我最大的认可

♥️这里是小刘,励志用心做好每一篇文章,谢谢大家

相关推荐
花姐夫Jun20 分钟前
在 CentOS 8 系统上安装 Jenkins 的全过程
linux·centos·jenkins
运维&陈同学27 分钟前
【Beats01】企业级日志分析系统ELK之Metricbeat与Heartbeat 监控
运维·elk·elasticsearch·云原生·kibana·heartbeat·metricbeat
地球资源数据云29 分钟前
全国30米分辨率逐年植被覆盖度(FVC)数据集
大数据·运维·服务器·数据库·均值算法
是店小二呀37 分钟前
【Linux】Linux开发利器:make与Makefile自动化构建详解
linux·运维·自动化
baihb10241 小时前
Jenkins 构建流水线
运维·jenkins
BUG 4041 小时前
LINUX--shell
linux·运维·服务器
菜鸟小白:长岛icetea2 小时前
Linux零基础速成篇一(理论+实操)
linux·运维·服务器
深海的鲸同学 luvi2 小时前
【HarmonyOS NEXT】hdc环境变量配置
linux·windows·harmonyos
dowhileprogramming2 小时前
Python 中的迭代器
linux·数据库·python
过过过呀Glik2 小时前
在 Ubuntu 服务器上添加和删除用户
linux·服务器·ubuntu