【Linux】shell 脚本入门详解

一、shell入门简介

1.1什么是shell

# 什么是shell网上有很多shell的概念介绍,其实都很官方化,如果你对linux命令很熟悉,那么编写shell就不是一个难事,shell本质上是linux命令,一条一条命令组合在一起,实现某一个目的,就变成了shell脚本。它从一定程度上减轻了工作量,提高了工作效率。# 官方化的shell 介绍shell通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出,简单来说shell就是一个用户跟操作系统之间的一个命令解释器。# 常见的shell有哪些Bourne Shell(/usr/bin/sh或/bin/sh)Bourne Again Shell(/bin/bash)C Shell(/usr/bin/csh)K Shell(/usr/bin/ksh)Shell for Root(/sbin/sh)# 最常用的shell是Bash,也就是Bourne Again Shell。Bash由于易用和免费,在日常工作中被广泛使用,也是大多数Linux操作系统默认的Shell环境。

如何查看当前系统支持的shell

[root@localhost ~]# cat /etc/shells

如何查看当前系统默认的shell

[root@localhost ~]# echo $SHELL

1.2 shell编程注意事项

      1、shell 命名: Shell脚本名称命名-般为英文、大写、小写,后缀以.sh 结尾;
      2、不能使用特殊符号;
      3、见名知意;
      4、shell编程首行需要指定脚本解释器#!/bin/sh或#!/bin/bash;
      5、shell脚本变量不能以数字、特殊符号开头,可以使用下划线-,但不能用破折号——。

1.3第一个shell脚本hello world

# 创建一个Helloword.sh 文件
[root@aly_server01~]# touch Helloword.sh# 编辑Helloword.sh 文件
[root@aly_server01~]# vim Helloword.sh
[root@aly_server01~]# cat Helloword.sh 
#!/bin/bash
# This is ower first shell
echo "hello world"
[root@aly_server01~]# 
[root@aly_server01~]# ll Helloword.sh 
-rw-r--r-- 1 root root 85 Sep 20 22:26 Helloword.sh# 赋予执行权限
[root@aly_server01~]# chmod o+x Helloword.sh # 运行helloword.sh 脚本
[root@aly_server01~]# ./Helloword.sh 
hello world
[root@aly_server01~]# 

 

1.4shell脚本的执行方法

方法一:当前目录下./a.sh         文件需要执行权限

方法二:绝对路径 /test/a.sh         文件需要执行权限

方法三:用sh 或bash来执行 bash a.sh 文件        不要执行权限(建议使用方法)

方法四:用source a.sh 或 . a.sh 执行会开启子shell 文件        不要执行权限 (一般不用 vim /etc/init.d/network )

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何通过内网穿透实现公网访问Portainer管理监控Docker容器

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风…

Win10专业版系统搭建DNS解析服务

Win10专业版 纯新手,也没弄过Linux的。不喜勿喷,有问题请指出 第一天一头雾水整了几个小时没结果,第二天豁然开朗,10分钟明白了第一天的问题所在。 Win10 安卓: iOS: 搭建DNS服务器的意义: 屏蔽…

MyBatis-Plus 入门指南:安装与配置、代码生成、综合案例、主键生成策略、自动填充

目录 1.MyBatis-Plus介绍 1.1.简介 1.2.特性 1.3.结构 1.4.支持数据库 2.快速开始 3.安装与配置 4.代码生成 5.综合案例 5.1.主键生成策略 5.2.自动填充 1.MyBatis-Plus介绍 1.1.简介 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具&…

写点东西《 Kickstart:搭建 JS 项目的最快方式!》

写点东西《🚀 Kickstart:搭建 JS 项目的最快方式!》 如何使用它? 想象一下:你刚刚有一个新的项目创意,你对创意充满热情,并准备好编码。 但是,在实际编写代码之前,您必须…

解决jmeter响应乱码的问题

HTTP请求响应乱码 方法一:添加后置处理器BeanShell PostProcessor,写入【prev.setDataEncoding("utf-8")】 方法二:修改bin目录下的配置文件jmeter.properties,将配置修改为【sampleresult.default.encodingUTF-8】 J…

2024年如何成为技术创作KOL?| 分享抽龙年公仔

引言 2024 年已经到来,你年初的 Flag 立好了吗?今年要创作多少篇文章?要如何获得更大的影响力?如何通过创作来改变自己的职业轨道?你有没有想过,其实成为技术创作领域的一位 KOL,离你并不遥远&a…

2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑤

单元测试 一、任务要求 题目1:根据下列流程图编写程序实现相应处理,执行j10*x-y返回文字“j1:”和计算值,执行j(x-y)*(10⁵%7)返回文字“j2:”和计算值,执行jy*log(x10)返回文字“j3:”和计算值…

通义千问AI挑战赛赛后反思

个人理解: 初赛阶段主要聚焦在如何通过 SFT 提升基础模型的代码能力,需要选手基于最新开源的 Qwen 1.8 模型作为基础模型,上分的关键主要通过收集高质量的代码数据提升模型的在Python, JavaScript, Java, Go, C, Rust六种编程语言的代码生成…

若依框架实现排序【升序或降序】很简单

前端实现 1. 在表格上加监听函数sort-change。如下红框所示: 2. 在表行上加排序字:sort-orders,可排序字sortable。如下红框所示: 3. 添加监听函数实现。代码如下: handleSortChange(column) {this.queryParams.orderByColumn …

使用emu8086实现——循环结构程序设计

一、实验目的 1.掌握循环结构程序设计的方法; 2.掌握数据块传送程序设计的方法; 3.掌握串传送指令的应用。 二、实验内容 1、计算S12*33*4...N*(N1),直到N*(N1)项大于200为止。编写程序,计算上式的结果。 代码及注释&#…

考研经验总结——目录

文章目录 一、写作顺序二、个人情况说明三、读评论四、一些小牢骚五、一些注意事项(持续更新) 一、写作顺序 我将准备从三个阶段开始介绍吧 考研前考研中考研后(也就是现在我的这种情况) 考研前我会分为:数学、专业…

国图公考:2024山东省事业单位发布招聘公告

更多信息可以登录山东人事考试信息查看!

webpack执行流程知识点总结

webpack的运行流程 Webpack 的运行流程是一个串行的过程,从启动到结束会依次执行以下流程: 在以上过程中,Webpack 会在特定的时间点广播出特定的事件,插件在监听到感兴趣的事件后会执行特定的逻辑,并且插件可以调用 We…

艾瑞报告:HR数字化需关注体系化能力,红海云等标杆厂商引领一体化趋势

新全球化时代背景下,企业经营所面临的国内外环境的不确定性增强,如何从不确定性中找到确定性成了大多数企业的关注要点。近日,艾瑞咨询发布《2023中国人力资源数字化研究报告》,从数字化转型的角度切入,探讨数字化如何…

原型设计工具Axure RP结合内网穿透实现本地web页面公网访问协同办公

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

进阶Docker3:Dokerfile构建镜像

目录 Dockerfile 构建基础镜像 基本机构 命令: 命令解释: 准备工作 创建镜像 上传镜像 Dockerfile Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使 用Docke…

neo4j图数据库的简单操作记录

知识图谱文件导出 首先停止运行sudo neo4j stop然后导出数据库 导出格式为: 具体命令如下sudo neo4j-admin database dump --to-path/home/ neo4j最后重启sudo neo4j start知识图谱外观修改 在网页点击节点,选中一个表情后点击,可修改其颜…

Beauty algorithm(七)瘦脸

瘦脸的实现采用局部平移法。 一、skills 前瞻 局部平移 二、目标区域定位 左脸: 关键点选择3、5点,基点30 rmax:计算两点5-3间的距离, |x-c|:图像任一点到固定基点c的距离 |m-c|:两固定点距离 右脸: 关键点选择

开发企业微信中的内嵌h5时如何开发与调试

前言: 在我们的项目中,开发企业微信内部的项目的话,分为两种,1种是直接开发企业微信的小程序,另一种则是企业微信内嵌我们的H5界面,我们这里讲一讲企业微信内嵌h5的方法与注意点。 1、开发h5项目 这点没有…

muduo网络库剖析——套接字Socket类

muduo网络库剖析——套接字Socket类 前情从muduo到my_muduo 概要socket网络编程socket编程接口介绍头文件socketbindlistenacceptaccept4connect 框架与细节成员函数使用方法 源码结尾 前情 从muduo到my_muduo 作为一个宏大的、功能健全的muduo库,考虑的肯定是众多…