Linux:shell脚本的介绍,创建与执行

news2025/1/22 16:56:37

        linux的shell脚本就是windows的bat脚本,也就是通常所说的批处理。更简洁地说,就是很多命令的结合体,就像编程一样。

        windows脚本的扩展名是.bat,而linux脚本的扩展名则是.sh

centos在编写shell脚本的文件最上边,需要加上#!/bin/sh(bash)这里表示的是使用sh(bash)解释器。自己写的语言需要与解释器相匹配。

sh和bash可以认为是一个东西,因为bash内部是连接着sh的,因此两个都可以写。

还有其他不同的解释器,如zsh、ash、chs、tcsh,这些一般用在其他版本,如ubantu等等。但是一般系统都会默认用该系统适合的解释器,有的时候shell脚本头部不加显示器也不会出错。但是最好都加上,就像c语言都得加mian函数一样。

 

写一段shell脚本文件:

首先需要创建应该shell脚本文件:

touch hello.sh

这样就创建好了

然后vim hello.sh打开这个文件。

输入:

ca44aff25b95417797cc7b7b6430f77b.png

 接下来就是执行了,执行命令的方式有三种:

①:

366169de12f04d2aad75a6ff41402f46.png

 这里是利用bash解释器,去解释这个shell脚本,这样bash就会帮我们执行这个shell脚本文件。

②:

32fd9f019e364a7ca269e6c40e74bfd0.png

 这里就是赋予可执行文件的权限,然后通过./去执行这个文件。

注意:可执行文件要执行,都得加个路径。否则会当做命令执行。

③:

3cb73fec8dbd4221b090f8303787b196.png

 可以通过source 文件名(可以直接写文件名source hello.sh这样也可以就如同直接bash一样)执行shell文件。

也可以通过. 文件名(中间是有空格的)执行shell文件。

这两个命令是一个意思,只是他们来源于不同解释器。被bash借鉴使用了。

那么是什么意思呢?

前两个执行方式其实是创建了一个子shell进程,这个子shell进程继承了父shell进程,然后由这个子shell进程一个一个执行shell文件内的命令,再带回父shell进程。但是子shell进程如果修改执行了修改环境变量等关键信息,这些父shell进程是不会响应的。

接下来就是source和.命令,这个两个命令是在父shell进程中直接执行shell文件。因此source和.通常会用来更新某些配置文件从而不用重启电脑,如:profile(环境变量文件)(解释一下,这些配置文件其实也是可执行文件,内部都是命令,如profile内部都是修改配置文件的命令export,这些命令只有被父shell进程执行后才会生效,在子shell进程执行是没有用的。)

 

 

 

 

 

 

 

 

 

 

 

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

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

相关文章

如何使用Sentinel的Slot插槽实现限流熔断,看完这篇文章会有新的收获

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章将详细介绍如何使用Sentinel的Slot插槽实现限流熔断,后续文章将详细介绍Sentinel的其他知识。 如果文章有什么需要改进的地方还请大佬不吝赐教&#x…

对于2023年参加国家计算机软考系统分析师的感想

文章目录 前言系分简介系分知识点今年的题型综合知识(上午选择题)案例分析(下午简答分析题)论文(下午小作文) 写在最后 前言 23年3月27日参加了国家计算机软考系统分析师,考完后很多的题库网站就有小道估分了。当然&a…

一些零零碎碎的记录

Questions1. 用户访问多网址服务器同一个IP是怎么回事 Q:用户访问服务器的同一个IP不同网址,服务器是如何区分的A: 在 HTTP 协议中,客户端通过发送请求报文来向服务器请求资源。每个 HTTP 请求都包含一个 HTTP 头部,其中包括了一些关键信息&…

力扣sql中等篇练习(三十)

力扣sql中等篇练习(三十) 1 即时食物配送||| 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # Write your MySQL query statement below SELECT order_date,ROUND(100*count(IF(order_datecustomer_pref_delivery_date,customer_id,null))/count(*)…

studio one6免费版下载及配置要求 附精调效果包

提到编曲软件,就不得不说这款水果编曲软件。它对新手和老手都比较友好,是一款较为经典的编曲软件。 这款软件提供了强大而全面的音符、音效编辑器,可以在其中插入各种乐器声音,如果内置乐器无法满足编曲需求,还可以外…

ABAQUS计算随机振动设置及输出

ABAQUS计算随机振动设置及输出 1.分析步设置 随机振动主要包括两个分析步:频率和随机振动 1.1 频率设置 频率这里需要注意的是最高频率最好是扫频范围的2-2.5倍 比如随机频率区间是[0-2000hz],最高频率应该大于4000Hz,才能保证精度 1.2 随机响应设…

数据结构【栈】有哪些应用场景?

✨Blog:🥰不会敲代码的小张:)🥰 🉑推荐专栏:C语言🤪、Cpp😶‍🌫️、数据结构初阶💀 💽座右铭:“記住,每一天都是一個新的開始&#x1…

如何在前端应用中合并多个 Excel 工作簿

本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 | 问题背景 ​ SpreadJS是纯前端的电子表格控件,可以轻松加载 Excel 工作簿中的数据…

Hack The Box - 关卡Dancing

SMB(全称是Server Message Block)是一个协议名,可用于在计算机间共享文件、打印机、串口等,电脑上的网上邻居就是靠它实现的。 SMB 是一种客户机/服务器、请求/响应协议。通过 SMB 协议,客户端应用程序可以在各种网络环境下读、写服务器上的…

干货|7种提高客户推荐率的方法,让你的客户成为你的推广大使!

大家都知道“客户推荐”是一种非常有效的业务推广方式。通过口碑传播,可以吸引更多的潜在客户,建立长期稳定的合作关系。 可以说,这种开发客户的方法:耗时少,成功率高,成本低,客户更好,堪称世界…

山西电力市场日前价格预测【2023-05-30】

日前价格预测 预测明日(2023-05-30)山西电力市场全天平均日前电价为350.71元/MWh。其中,最高日前价格为424.56元/MWh,预计出现在19: 30。最低日前电价为239.37元/MWh,预计出现在13: 00。 以上预测仅供学习参考&#xf…

律师使用ChatGPT 进行法律文献检索提交了错误信息;李开复表示,威力强大的大模型将彻底变革人工智能

🚀 一名律师使用ChatGPT 进行法律文献检索提交了错误信息 近日,一名律师在法庭案件中使用聊天机器人 ChatGPT 进行法律文献检索,结果提交了错误信息, 揭示了人工智能在法律领域的潜在风险,包括误传错误信息。 该事件…

数据分析师的基本职责(合集)

算法工程师的职责表述 算法工程师的职责表述1 职责 1、维护、扩展的大数据处理分析平台; 2、负责将先进的工业大数据分析技术转化为标准化的分析工具与模块; 3、规范并优化算法,提高可靠性; 4、帮助建立标准化的数据分析路线图,能够提取、转换并加强数据…

音视频技术开发周刊 | 295

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 微软炸通Windows与ChatGPT全家桶!人手一个Copilot,AI宇宙降临 三位OpenAI掌舵人亲自撰文:我们应该如何治理超级智能? OpenA…

《Opencv3编程入门》学习笔记—第一章

《Opencv3编程入门》学习笔记 记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 第一章 邂逅opencv 参考推荐软件版本:visual studio2010 opencv2.4.9 visual studio安装教程: https://blog.csdn.net/qq_45768871/article/details/1081788…

LeetCode链表题(中等)剖析

文章目录 💐文章导读💐1.合并零之间的结点解题思路 💐2.链表中最大孪生和解题思路 💐3.链表的随机节点解题思路 💐4.复杂链表的复制解题思路 💐5.两辆交换两表中的节点解题思路 💐文章导读 &…

【深圳触觉智能技术分享】RK3568 RK809电量计电池调试

本文基于IDO-SBC3568主板介绍说明PMIC RK809电量计的调试方法。 IDO-SBC3568-V1是一款基于RK3568的工控主板,采用22nm先进工艺制程,四核A55 CPU,主频高达2.0GHz,支持高达8GB高速LPDDR4,1T算力NPU ,4K H.26…

如何在Allegro软件中快速复制走线和过孔?

在PCB设计过程中,快速而准确复制走线和过孔是提高设计效率和减少重复工作的关键所在,因此很多工程师会选择使用Allegro来复制走线和过孔,因为Allegro是一款功能强大且灵活的PCB设计软件,提供了多种工具和功能,自然包括…

springboot+java汽车配件销售业绩管理系统 J2EE平台技术

汽车配件销售类企业近年来得到长足发展,在市场份额不断扩大同时,如何更好地管理企业现有销售项目资源成为摆在该类企业面前的重要课题之一。本次打算开发的springboot汽车配件销售业绩管理系统的开发过程引用 J2EE平台技术,该平台中所包含的JDBC、JNDI等组件,规定访问数据库的形…

swagger页面 doc.html出不来,swagger-ui/index.html能出来

swagger页面 doc.html出不来,swagger-ui/index.html能出来。前前后后折腾了很久,jar包冲突,jar包版本,添加路径啥的都弄了,就是出不来。 后来全局搜索“doc.html”页面发现能出来的项目能搜到这个页面: 定…