shell脚本解析 01

news2024/10/6 6:49:42

一、shell 概述

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

                a.作为应用程序: 交互式地解释、执行用户输入的命令,将用户的操作翻译成机器可以识别的语言,完成相应功能。称之为 shell 命令解析器。shell 是用户和 Linux 内核之间的接口程序。

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

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

        查看系统的进程:ps -A

        查看调用的 shell 命令解释器目录:echo $SHELL

 

 

二、shell 脚本分为两类

        1.系统进行调用:这类脚本无需用户调用,系统会在合适的时候调用。以下系统默认调用的两个脚本文件。

        /etc/profile:对系统的所有用户都有效。用户登录系统的时候执行。

        ~/.bashrc:对登录的用户有效 用户登录,打开终端。

        2.用户编写,需要手动调用的:无论是系统调用的还是需要我们自己调用的,其语法规则都一样。

 

三、shell 脚本的定义与执行

        1.写脚本:

         2.给脚本增加 可执行权限:chmod +x 脚本文件

         3.执行脚本文件,有3种执行方法:

                (1)./01_shell.sh                先使用 #! 指定的shell,如果没有则使用默认的shell

                (2) . 00_shell.sh               使用当前 shell 读取解析 00_shell.sh

                (3) bash 00_shell.sh        直接指定使用 bash 解析 00_shell.sh

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

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

        4.如果执行shell格式出错解决方法:

        方法一:a.安装格式转换软件:sudo apt-get install dos2unix

                       b.执行命令:dos2unix 脚本文件

          方法二:需要用 vi 打开脚本,在最后一行模式下执行 :set ff=unix

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/664200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DreamBooth论文解读

文章目录 摘要问题算法3.1 文生图扩散模型3.2 个性化文生图模型3.3 特定类别先验保留损失 实验评估方式比较消融实验PPL类别先验 应用限制 结论 论文: 《DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation》 project&#xf…

yueyin uart ip 使用说明文档

目录 1 概述2 IP功能3 IP端口4 收发数据时序4.1 Uart_tx接口4.2 Uart_rx接口5 获取IP地址 1 概述 本文用于讲解yueyin IP 的uart ip(串口/rs422/rs485/rs232)的功能,以及使用说明,方便使用者快速上手。 版本:V1.0.0 编…

行业报告 | 清华大学AIGC发展研究1.0震撼发布!(技术+未来篇)

文 | BFT机器人 01 技术篇 深度学习进化史:知识变轨 风起云涌 已发生的关键步骤: 人工神经网络的诞生 反向传播算法的提出 GPU的使用 大数据的出现 预训练和迁移学习 生成对抗网络 (GAN) 的发明 强化学习的成功应用 自然语言处理的突破 即将发生的关键步骤…

基于matlab对传感器阵列中的扰动和元件故障进行建模(附源码)

一、前言 本示例展示了如何对传感器阵列中的幅度、相位、位置和模式扰动以及晶片故障进行建模。 二、振幅扰动 本节介绍如何在 10 个晶片的均匀线性阵列 (ULA) 上添加增益或幅度扰动。将扰动视为统计上独立的零均值高斯随机变量,标准差为 0.1…

Linux内核进阶----整体框架及子系统概览

目录 1、概述 2、核心抽象及设计选型 2.1. 对进程和内核的抽象 2.2. 对进程地址空间的抽象 2.3. 支持可重入可抢占的内核 2.4. 放松管控与努力回收 2.5. 单块结构内核动态加载模块 2.6. 为系统中的一切活动打拍子 2.7. 一切皆文件的理念 3、Linux整体架构模块说明 3.…

Pnpm实现Monorepo风格项目搭建

Monorepo是什么 与Monorepo对比的是MutiRepo。对于一个复杂的前端架构通常会有多个npm package组成。repo指的是版本仓库。如果多个package放在一个repo仓库中就叫做monorepo。 目前有不少大型开源项目采用了这种方式,如 Babel,React, Meteor, Ember, …

基于Hexo和Butterfly创建个人技术博客,(12) 定制化博客站点高级功能,如搜索、在线聊天、自定义样式等

Butterfly官方网站,请 点击进入 部分特效来源于网站的总结,请点击进入 本章目标: 选择自己需要的内容,然后加以实现。本文中涉及的修改方式主要包含三种:1、修改源码;2、扩展源码;3、添加插件&a…

项目进度延误怎么办?给项目经理的6个处理提示

有研究调查称,只有2.5%的企业能100%成功完成他们的项目。影响项目成功的因素有很多,但对项目生产力造成严重损失的一个重要方面是项目延误。 无论是同事请病假,还是客户想要返工,许多事情都可能导致项目延误。当发生这些情况&…

桥梁监测系统多少钱?桥梁监测系统组成部分有哪些?

桥梁作为大多数城市和国家的重要设施,为居民提供了交流和沟通的纽带。然而,随着时间的推移、超荷载的运输和不间断的环境影响,桥梁的状态日益恶化。为了更好的了解桥梁的结构状态,保障桥梁的安全性和可靠性,桥梁监测系…

SQL注入第二章节MYSQL手工注入

SQL注入第二章节MYSQL手工注入 2.1 SQL注入之sqli-labs环境搭建 一、SQLi-Labs是什么? SQLi-Labs是一个专业的SQL注入练习平台,适用于GET和POST场景,包含了以下注入: 基于错误的注入(Union Select) 字符…

信息论/python笔记: 最大信息系数 MIC

1 互信息 sklearn 笔记整理:sklearn.metrics_sklearn中的mean absolute percentage error_UQI-LIUWJ的博客-CSDN博客 2 最大信息系数(MIC,Maximal Information Coefficient) 2.1 方法介绍 衡量两个变量X和Y之间的关联程度&…

知识蒸馏的说明

本文参考: ChatGPT 温度系数t与top-p, 超参怎么设置最优? - 知乎 知识蒸馏系列(一):三类基础蒸馏算法_OpenMMLab的博客-CSDN博客 知识蒸馏算法汇总 - 知乎 知识蒸馏__Old_Summer的博客-CSDN博客 目录 1、 ChatGPT…

一文弄懂mysql事务

首先,什么是事务呢? 事务就是由单独单元的一个或多个sql语句组成, 在这个单元中, 每个sql的语句都是相互依赖的, 而整个单独单元作为一个不可分割的整体存在, 类似于物理当中的原子(一种不可分割的最小单位) 通俗的来讲就是, 事务就是一个整体, 里面的内容要么都执行成功, 要…

大学生找工作的个人简历模板(合集)

大学生找工作的个人简历模板1 个人基本简历 姓名:-国籍:中国 目前所在地:__ 民族:汉族 户口所在地:__ 身材: 婚姻状况:未婚年龄:__岁 培训认证:诚信徽章: 求职…

swagger 入门指南

1. 写在最前面 最近在负责的服务,出现了客户接二连三的投诉 api 参数难以理解的问题。本着从「根本上解决问题」的思路,笔者思考了以下方案: 简化难以理解的参数,重新设计一版 api 优化 api 文档,更易于用户理解 1…

代码随想录算法训练营第四十一天| 343. 整数拆分、96.不同的二叉搜索树

整数拆分 题目链接:力扣 确定dp数组(dp table)以及下标的含义 dp[i]:分拆数字i,可以得到的最大乘积为dp[i]。确定递推公式 然后有两种渠道得到dp[i]: 一个是j * (i - j) 直接相乘。 一个是j * d…

unit4

目录 carpenterovertakeremainderobjectivepasturedespitegulfshepherdinteriorchorusoppressgrinprofessionalresistantfosterleapembarkneutralelasticcirculateintimidatechopprimarystirappraisallayoutsurvivalentertainmoanlocatepublishpacehearingexplosivecricketvolt…

stable-diffusion-webui 快捷安装教程

简介 stable-diffusion-webui 是一个用来装载Stable Diffusion 模型的网页,可以方便的调用模型生成图片。 stable-diffusion-webui的github地址为:https://github.com/AUTOMATIC1111/stable-diffusion-webui 这个库的依赖很多,虽然代码里面有…

NUCLEO-F411RE RT-Thread 体验 (1) - GCC环境 RT-Thread 的移植

NUCLEO-F411RE RT-Thread 体验 (1) - GCC环境 RT-Thread 的移植 1、准备工作 a、用stm32cubemx新建一个工程。 时钟配置 st-link提供8M的mco输出,所以配置hse 8m,sysclk最高100M,设置如下: 配置LED 连接pa5,设…

机器学习-进化算法

进化算法 遗传算法(Genetic Algorithm,GA)crossovermutation 进化策略(Evolutionary Strategies,ES)基因编程(Genetic Programming)Multi-objective Evolutionary Algorithms 遗传算…