首页 > 系统相关 >shell脚本基础学习

shell脚本基础学习

时间:2023-12-12 11:35:56浏览次数:29  
标签:脚本 shell 学习 sh yum hello bash

shell脚本基础学习

一.shell的解释:

  • shell具备编程的能力
  • shell是一种解释型语言(不需要提前编译,一边执行一边解释,每种解释性语言都有解释器)
  • shell语言支持大部分编程语言都具备的功能(if判断,for循环,变量,数组,函数,加减乘除,逻辑运算)

二.shell脚本的规范模板

tips:

  • shell脚本的本质上其实是命令的堆积。(把多个命令写入到一个文件里面)
  • shell脚本对于运维来说,可以边写一些运维工具。
    1.shell脚本的组成:
vim user.sh
#!/bin/bash #指定解释器(环境声明)
#注释信息
可执行代码.....

2.写shell脚本的步骤

  • 明确任务需求
  • 按需求整理好每一个步骤,先做什么,后做什么
  • 运行脚本,并根据运行结果,排除错误
  • 优化脚本并达到最终效果

三.编写脚本

1.通过shell脚本在屏幕输出一句hello word

vim hello.sh
#!/bin/bash
echo hello word

chmod u+x hello.sh
./hello.sh

2.编写一个创建用户的脚本

vim user.sh
#!/bin/bash
useradd studnet
echo 123|passwd --stdin student

chmod u+x
./user.sh

脚本其中一个失败不会影响接下来的命令,会继续执行下面的命令(除非卡住,那就不会继续执行)

3.编写一个查看网卡,内核,内存,磁盘的使用情况 的信息

uptime(显示top命令的第一行)

vim cat.sh
#!/bin/bash
hostname
uname -rs
ifconfig ens32|head -n 2
free -h
df -h
uptime

chmod u+x
./cat.sh

4.编写一个搭建本地yum源的脚本

vim yum.sh
#!/bin/bash
echo '正在搭建本地yum源'
mount /dev/cdrom /media
echo '[redhat]#回车
name=redhat#回车
baseurl=file:///mdedia#回车
gpgcheck=0#回车
enabled=1#回车' > /etc/yum.repos.d/yum.repo
yum clean all &> /dev/null#不管正确错误都收集结果到黑洞文件
yum repoist|tail -1

shell脚本的执行方式
1.赋予文件执行权限后,可以用当前路径和绝对路径执行
2.调用解释器执行脚本文件
bash hello.sh (只要能tab补全就是对的)

echo常用特殊符号补充:

  • "" 双引号,引用整体
  • ''引用整体并取消所有特殊字符的含义
  • $[] 四则运算(+-*/%取余数)
  • $() 将命令的输出结果作为参数
  • #反撇 `` 将命令的输出结果作为参数

重定向操作
解释:
重定向操作:将前面命令的输出结果,写入到其他的文本文件中
重定向的表示符号

  • > 重定向输出(覆盖)
  • >>重定向输出(追加)
  • <输入重定向(覆盖)
  • <<输入重定向(追加)
  • >只收集正确的输出结果
  • 2>只收集错误的输出结果
  • &>正确错误都收集

标签:脚本,shell,学习,sh,yum,hello,bash
From: https://www.cnblogs.com/humlogs/p/17896400.html

相关文章

  • 数据库学习
    前言IDEA集成了众多插件,方便开发者使用,使用其自带的Database模块就可以很方便的配置、连接到数据库。查看MySQL运行状态先启动MySQL,快捷键win+r然后输入services.msc,查找MySQL然后启动MySQLServer。IDEA开启数据库连接模块点击View->ToolWindows->Database开启数据库模块......
  • 【定义类】二功能测试学习给一个新网站如何测试
    -------------软件测试是什么-----依据需求熟悉业务,确定测试范围,设计测试用例,等开发完成后,用手动或自动化执行被测软件,检测预期和实际结果是否一致,如不一致提交BUG,再次交给开发修改,开发修改完成后,执行回归测试,所有用例执行完成后,交给客户做验收测试这个面试题给一个水杯如何......
  • Pydantic模块学习
    Pydantic是一个Python库,用于数据验证和设置强类型数据结构。它是一个数据验证库,专门设计用于数据解析和验证,尤其在处理用户输入、API请求等情境中很有用。以下是Pydantic的一些主要特点和用法: 使用Pydantic主要涉及以下几个步骤:定义数据模型:创建一个继承自pydantic......
  • 火星探测器背后的人工智能:从原理到实战的强化学习
    本文详细探讨了强化学习在火星探测器任务中的应用。从基础概念到模型设计,再到实战代码演示,我们深入分析了任务需求、环境模型构建及算法实现,提供了一个全面的强化学习案例解析,旨在推动人工智能技术在太空探索中的应用。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务......
  • 脚本案例练习
    Linux服务器超级实用的Shell脚本,建议收藏!原创 HC IT人家 2023-11-0522:21 发表于广东来自公众号:IT人家 Shell脚本是一种强大的工具,可以在各种领域中用于提高工作效率、简化任务和自动化常见工作流程。无论是系统管理、数据处理、任务自动化还是快速原型开发,She......
  • java时间时区学习
    1、时间戳时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。通俗的讲,时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据2、格林威治时间格林尼治平时(英语:Greenw......
  • C++学习笔记七:输出格式
    这一篇主要总结一下C++标准库里输出格式相关的库函数。https://en.cppreference.com/w/cpp/io/manip1.库:<ostream><ios><iomanip> 2.库函数:2.1<ostream>std::endl:输出换行,同"\n"的效果一样。std::flush:causesimmediatesendingofdatatothedeviceconnecte......
  • MUI基础学习
    一、MUI框架介绍MUI(MobileUserInterface)是一套基于HTML5的,遵循html5+规范的,中国团队开发的,开源的,用于手机端界面开发的一套框架。mui框架是一个可以方便开发出高性能App的框架,也是目前最接近原生App效果的框架。目前,MUI是基于H5的最方便的App开发框架之一。MUI框架由DCLOUD公司......
  • openGauss学习笔记-152 openGauss 数据库运维-备份与恢复-物理备份与恢复之PITR恢复
    openGauss学习笔记-152openGauss数据库运维-备份与恢复-物理备份与恢复之PITR恢复152.1背景信息当数据库崩溃或希望回退到数据库之前的某一状态时,openGauss的即时恢复功能(Point-In-TimeRecovery,简称PITR)可以支持恢复到备份归档数据之后的任意时间点。说明:PITR仅支持恢......
  • openGauss学习笔记-153 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_proback
    openGauss学习笔记-153openGauss数据库运维-备份与恢复-物理备份与恢复之gs_probackup153.1背景信息gs_probackup是一个用于管理openGauss数据库备份和恢复的工具。它对openGauss实例进行定期备份,以便在数据库出现故障时能够恢复服务器。可用于备份单机数据库,也可对主机或者......