shell脚本程序学习概述

【Linux】shell脚本概述 文章目录前言shell脚本的概念shell脚本的结构 前言 本系列为循序渐进学运维系列的shell脚本实战部分,从零带你学脚本。 shell脚本的概念 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可是交互也可以是非交互式的 静态语言:编译型语言 如:c 阅读详情

shell 概述

shell 概述

shell 的两层含义: 既是一种应用程序, 又是一种程序设计语言

作为应用程序:

交互式地解释、 执行用户输入的命令, 将用户的操作翻译成机器可以识别的语言, 完成相应功能 , 称之为 shell 命令解析器

shell 是 用户 和 Linux 内核 之间的接口程序

用户在提示符下输入的命令都由 shell 先解释然后传给 Linux 核心

它调用了系统核心的大部分功能来执行程序、 并以并行的方式协调各个程序的运行

Linux 系统中提供了好几种不同的 shell 命令解释器, 如 sh、 ash、 bash 等。 一般默认使用 bash 作为默认的解释器。

image-20200731094726569

shell 是用户跟内核通信几种方式的一种

image-20200731094738405

作为程序设计语言:

它定义了各种变量和参数, 并提供了许多在高级语言中才具有的控制结构, 包括循环和分支完成类似于 windows 下批处理操作, 简化我们对系统的管理与应用程序的部署 , 称之为 shell 脚本

c/c++等语言, 属于编译性语言(编写完成后需要使用编译器完成编译、 汇编、 链接等过程变为二进制代码方可执行)

shell 脚本是一种脚本语言, 我们只需使用任意文本编辑器, 按照语法编写相应程序, 增加可执行权限, 即可在安装 shell 命令解释器的环境下执行

shell 脚本主要用于:

帮助开发人员或系统管理员将复杂而又反复的操作放在一个文件中, 通过简单的一步执行操作完成相应任务, 从而解放他们的负担

增加可执行权限 :

chmod +x xxx.sh

直接执行即可

./xxx.sh

shell 脚本大体可以分为两类:

系统调用 :

这类脚本无需用户调用, 系统会在合适的时候调用

/etc/profile: 此文件为系统的每个用户设置环境信息, 当用户第一次登录时, 该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置.

/etc/bash.bashrc: 为每一个运行bash shell的用户执行此文件. 当bash shell被打开时, 该文件被读取.

~/.bashrc: 该文件包含专用于你的bash shell的bash信息, 当登录时以及每次打开新的shell时, 该文件被读取.

~/.bash_logout: 当每次退出系统( 退出bash shell )时, 执行该文件.

另外, /etc/profile 中设定的变量(全局)的可以作用于任何用户, 而 ~/.bashrc 等中设定的变量(局部) 只能继承 /etc/profile 中的变量, 他们是"父子"关系.

用户编写, 需要手动调用的 :

无论是系统调用的还是需要我们自己调用的, 其语法规则都一样

shell 脚本的定义与执行

定义以开头:

#!/bin/bash

\#! 用来声明脚本由什么 shell 解释, 否则使用默认 shell

单个"#"号代表注释当前行

执行:

增加可执行权限后执行

chmod + x xxx.sh ./xxx.sh

直接指定使用 bash 解释 xxx.sh

bash xxx.sh

使用当前 shell 读取解释 xxx.sh

.xxx.sh

# 或 

source test.sh

三种执行脚本的方式不同点:

./ 和 bash 执行过程基本一致,

前者首先检测 #!, 使用 #! 指定的 shell, 如果没有使用默认的 shell

后者明确指定 bash 解释器去执行脚本, 脚本中 #! 指定的解释器不起作用

用 ./ 和 bash 去执行会在后台启动一个新的 shell 去执行脚本

用 . 去执行脚本不会启动新的 shell , 直接由当前的 shell 去解释执行脚本

栗子 clear.sh :

#!/bin/bash

# 清屏
clear

# 打印
echo "this is the first shell script"

image-20200731101132522

课题申报新手入门必备指南!利用AI辅助搞定 6大关键部分,高效提升申报成功率(附AI提示词) 以下是我(或团队)与本课题相关的已有基础:【如:承担过的公开课、校本教研活动、教学改革实践、课程建设、区级/校级课题、教学反思积累等】请你完成以下任务:1)判断哪些内容与本课题的研究目标和内容具有直接或间接关联;以下是我当前的研究设想(可能比较笼统):【填写你的研究想法 / 教学困惑 / 初步设想】,请你帮我完成以下任务:1)先判断该设想中隐含的核心研究问题是什么;以下是我目前拟定的研究目标,请你从课题评审视角进行校正:【逐条粘贴你已有的研究目标】,请你帮我:1)判断每个目标是否具体、清晰、可评估; 阅读详情

相关推荐

从DIY到实战:手把手教你搭建一个媲美吉时利2450的nA级电流源表(附原理图与避坑指南)

本文详细解析如何从零打造nA级精密电流源,涵盖核心设计原理、PCB布局技巧、热电偶效应应对及校准验证体系。通过低成本替代方案和优化设计,实现媲美商用源表的性能,特别适合硬件爱好者和独立开发者。文章还提供原理图与避坑指南,助你轻松搭建高精度电流源系统。

weixin_42656416的博客 295

shell入门概述

shell 的两层含义: 既是一种应用程序, 又是一种程序设计语言交互式地解释、 执行用户输入的命令, 将用户的操作翻译成机器可以识别的语言, 完成相应功能 , 称之为 shell 命令解析器 是 用户 和 Linux 内核 之间的接口程序用户在提示符下输入的命令都由 先解释然后传给 Linux 核心它调用了系统核心的大部分功能来执行程序、 并以并行的方式协调各个程序的运行Linux 系统中提供了好几种不同的 命令解释器, 如 sh、 ash、 bash 等。 一般默认使用 作为默认的解释器。 是用户

运气只是当机会来临时,你已为它准备好。 433

【卫星语音通信】神经网络语音编解码算法:AudioDec

最新研究表明,通过深度学习模型对语音信号进行智能压缩与重建,可在12 kbps码率下实现48 kHz采样率的高保真语音还原,其主观音质评分(MOS)可达3.9分(满分4.27分),远超传统参数编码技术。这意味着未来卫星电话的通话质量有望达到CD级水准,而蜂窝网络的语音业务带宽需求可降低60%以上,为蜂窝和卫星网络中的大规模物联网语音交互铺平道路。它的诞生为神经音频编解码技术带来了一次重要升级,有助于让未来实时语音交互更流畅、更清晰,也让我们进一步体验到人工智能与音频信号处理结合所带来的创新可能性。

u011376987的博客 1473

Shell简介——Shell的概念与作用(一个应用程序或者说解释器)

本文源于网络资源的学习与整理,如有侵权请告知删除。shell的概念shell的作用 shell是一种脚本语言

主要记录嵌入式学习与开发过程。 6644

QGroundControl高级配置与自定义功能实战指南

本文深入探讨了QGroundControl(QGC)的高级配置与自定义功能,为无人机开发者、系统集成商和高级用户提供实战指南。内容涵盖从品牌界面定制、自定义MAVLink消息处理,到插件开发与自动化部署的全流程,旨在帮助用户解锁QGC的隐藏潜力,打造专属的行业解决方案。

weixin_29234509的博客 242

【PVE9.1使用教程】

弹窗代码在 /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 中,通过 void({…}) 可以让弹窗部分代码不执行,实现删除弹窗的效果。安装过程这里不再赘述,记得不要使用网络版本进行安装,安装的时候不要使用镜像,否则安装过程会很卡。把下面的配置添加进去,允许同一个网段下的所以主机访问/mnt/pve_share文件夹。可以自己搭建也可以去咸鱼购买,本人在咸鱼上面购买的,暂时可用。也可以使用下面的命令,版本号需要自己查看最新的版本号。

weixin_42950821的博客 962

Shell基础之概述

主要有:Shell介绍、Shell分类、Linux支持的Shell和Shell脚本的执行方式。

zhengshuangyue的博客 1135

散户逆袭神器:用通达信DIY指数发现下一个光伏储能(附龙头股筛选模板)

本文详细介绍了如何利用通达信软件的自定义指数功能,构建个人专属的行业监控工具,以发现类似光伏储能这样的潜力赛道。文章提供了从零开始的指数编制步骤、核心的龙头股筛选模板,以及五个关键的数据校验技巧,帮助散户投资者实现机构级的行业分析与机会挖掘,有效提升投资决策能力。

w3x4y的博客 485

Shell概述 编写及执行脚本 、 Shell变量

NSD SHELL DAY01 案例1:Shell基础应用 案例2:简单Shell脚本的设计 案例3:使用Shell变量 案例4:变量的扩展应用 1 案例1:Shell基础应用 先了解shell 1.1 问题 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 切换用户的Shell环境 练习命令历史、命令别名 重定向标准输入/输出/错误输出 管...

jackjack博客 781

汽车TSN时间敏感网络测试技术与探索系列讲座4 -TSN802.1AS同步要求及验证方法

TSN网络各设备类型同步性能要求是什么?各类设备的测试组网及测试内容。也将通过演示来展示相关测试结果,及如何解决上述的测试关注点。

weixin_43903833的博客 762

Python 爬虫实战:网站反爬机制绕过终极指南(技术原理 + 实战代码 + 避坑技巧)

在 Python 爬虫的世界里,反爬机制是每一个爬虫开发者都必须面对的挑战。网站为了保护自身数据不被恶意爬取,会设置各种反爬机制,这使得爬虫开发变得更加复杂和有趣。本文将详细介绍常见的网站反爬机制及其绕过方法,结合技术原理、实战代码和避坑技巧,帮助你成为一名优秀的爬虫开发者。

u014481728的博客 1006

OS 线程实现

线程实现方式 :用户/内核线程关系 :一对一 :多对一 :多对多 :线程管理库 : 管理用户线程调度 , 系统不管用户线程优点:用户线程缺点:内核线程 : 由操作系统管理内核线程优点:内核线程缺点:轻量级进程 (Light-weight process , LWP) : 内核支持的用户线程LWP/用户线程关系 : 模式 : 一个线程对应一个 LWP 对应一个内核线程 , 如 : 进程 4 模式 : 多个用户线程对应一个 LWP 对应一个内核线程 , 如 : 进程 2 模式 : 多个用户线程对应到多个 LWP

记录点点滴滴 591

Vue 网络处理 - axios 异步请求的使用,请求响应拦截器(最佳实践)

axios 用来在前端页面发起一个异步请求,请求之后页面不动,响应回来刷新局部.1.为什么不使用 ajax 呢?官方:在 jQuery 中推荐使用 ajax 技术, Vue 里面不推荐使用 jQuery 框架,因此 Vue 更推荐使用 axiox 异步请求库(axios并不是 vue 官方库).2.axios 特性可以从浏览器中创建 XMLHttpRequests可以从 node.js 中创建 http 请求.支持 Promise API.支持拦截请求和响应.转换请求数据和响应数据.

CYK_byte的博客 1万+

Shell脚本学习

(1)定义变量:变量=值(2)撤销变量: unset 变量(3)声明静态变量:readonly变量,注意不能 unset2、变量定义规则(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写(2)等号两侧不能有空格!(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。(4)变量的值如果有空格,需要使用双引号或单引号括起来。

小石潭记丶 1272

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Shell 脚本学习

不难看出我们创建的helloworld.sh文件他的权限信息为:-rw-r–r–,对于我们现在登录的root账号也就是对应的第二个到第四个"rw-"也就是仅仅只有读写的权限没有执行的权限,我们如何解决这个问题,以上例子中,: 是一个空命令,用于执行后面的 Here 文档,<<‘EOF’ 表示开启 Here 文档,COMMENT 是 Here 文档的标识符,在这两个标识符之间的内容都会被视为注释,不会被执行。Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。

qq_56440330的博客 1273

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

shell脚本入门概述

首先,作为命令解释器,Shell负责接收用户输入的命令,并将这些命令翻译成计算机能够理解的语言,以便内核执行。这个过程中,Shell会处理各种命令行选项、参数和重定向等操作。其次,Shell还具有程序设计语言的特性,允许用户编写脚本来自动化复杂的或重复的任务。这种脚本通常被称为Shell脚本,它们可以包含一系列的命令和流程控制语句,如循环和条件判断。

qq_54591401的博客 1751

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Shell编程规范与变量:Shell概述、Shell脚本详解和执行

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Shell是一个特殊的应用程序,介于操作系统内核与用户之间,充当命令解释器的角色。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。Shell功能。

shyuu的博客 1701

linux命令:java调用shell脚本与shell脚本调用java程序

linux命令:java调用shell脚本与shell脚本调用java程序

qq_16268979的博客 3784

学习shell脚本

什么是shell脚本 为什么要学习shell脚本 第一个脚本编写与执行 简单的shell脚本练习 简单案例 脚本的执行方式差异(source、sh script、./script) 如何使用shell脚本的判断式 利用test命令的测试功能 利用判断符号[ ] shell脚本的默认变量($0、$1...) shell脚本的条件判断式 利用 if...then 利用case...esac判断 利用function功能 $()和\$(())讲解 shell脚本的循环 while do done、until do

不知道 1231

【Linux】shell脚本概述,系列教学

作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料[外链图片转存中…(img-qTZIuxZm-1711162394443)][外链图片转存中…(img-UMwg8ZqG-1711162394444)]本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录。

m0_61549674的博客 907

linux shell概述,【Linux】shell脚本概述

文章目录前言本系列为循序渐进学运维系列的shell脚本实战部分,从零带你学脚本。shell脚本的概念Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式...

weixin_33093403的博客 140

Shell脚本概述

一、Shell脚本概述 1.1 Shell脚本的概念 将要执行的命令按顺序保存到一个文本文件 给该文件可执行权限 可结合各种Shell控制语句以完成更复杂的操作 1.2 Shell脚本应用场景 重复性操作 交互性任务 批量事务处理 服务运行状态监控 定时任务执行 1.3 Shell的作用 Shell的作用—命令解释器,“翻译官” 介于系统内核与用户之间,负责解释命令行 1.4 用户的登录Shell 登录后默认使用的Shell程序,一般为/bin/bash 不同Shell的内部指令、运行环境等会有所区别 二、

weixin_51837038的博客 317

Shell脚本 (一) 概述、解析器、脚本入门

一、 Shell 脚本概述 1、 Shell 的 含义: Shell 是一个用C语言编写的程序,它是用户使用Linux 的桥梁。Shell既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explore...

喜欢历史的码农 2591

shell脚本学习

变量名不能加美元符号;命名只能使用英文字母,数据和下划线,首个字符不能一数字开头;中间不能有空格,可以使用下划线_;不能使用标点符号;不能使用bash里的关键字(可用help命令查看保留关键字)

m0_55471400的博客 1072

shell脚本学习总结

看完了书《shell脚本学习指南》,顺便总结一下:

kinado的专栏 1918
上一篇: shell脚本程序学习之变量
下一篇: 数据库概述--数据与数据管理
onnx
博客等级 码龄5年 1万+粉丝 416原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值