热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Shell脚本的基础知识

文章目录一、什么是shell二、shell脚本的意义三、如何创建shell脚本四、如何执行shell脚本1、手动开启2、直接开启3、开启脚本五、如何对shell脚本进行测试六、练习

文章目录

    • 一、什么是shell
    • 二、shell脚本的意义
    • 三、如何创建shell脚本
    • 四、如何执行shell脚本
      • 1、手动开启
      • 2、直接开启
      • 3、开启脚本
    • 五、如何对shell脚本进行测试
    • 六、练习
      • 1、网卡名输出ip
      • 2、显示当前主机的名称
      • 3、清空日志


一、什么是shell

shell(壳):命令解释器,一种应用程序。
脚本中命令的解释器

二、shell脚本的意义

1.记录命令执行的过程和执行逻辑,以便以后重复执行
2.脚本可以批量处理主机
3.脚本可以定时处理主机

三、如何创建shell脚本

shell中脚本文件一般以.sh或.script结尾;在此类文件中首行输入shell脚本幻数:#!/bin/bash后再添加相关的脚本命令即可生成脚本文件;#/!/bin/bash可以理解为脚本中命令的执行环境

#!/bin/bash ##幻数

在这里插入图片描述
在脚本运行时最先运行的指令,通常用于指定脚本的运行环境。
在这里插入图片描述
在这里插入图片描述
在脚本中通常要写出关于脚本本身的一些信息,这些信息可以通过vim的设置自动出现。

vim /etc/vimrc #全局配置文件,对所有用户生效
vim ~/.vimrc #用户级vim配置文件,设置内容只对当前用户生效

添加set nu使得使用vim打开的文件都有行号

在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
切换至westos中打开/etc/passwd文件
在这里插入图片描述
vim ~/.vim #只针对与当前用户的vim文件浏览模式设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、如何执行shell脚本


1、手动开启

手动在环境中开启指定解释器

sh script.sh

在这里插入图片描述

2、直接开启

直接在当前环境中运行shell中的指令不开启新的shell

source script.sh
. script.sh

在这里插入图片描述

3、开启脚本

开启脚本中指定的shell并使用此shell环境运行脚本中的指令

chmod +x script.sh
/xxx/xxx/script.sh
./script.sh

在这里插入图片描述在这里插入图片描述

五、如何对shell脚本进行测试

sh -x /mnt/westos.sh
+ ##运行指令
不带+ ##命令运行的输出

在这里插入图片描述

六、练习


1、网卡名输出ip

要求:

sh ip_show.sh 网卡名
#显示当前网卡的IP

脚本分析:
第1部分:
如果输入的网卡名为空不正确则输出错误的报错并提示输入正确的名称
第2部分:
如果输入的网卡名不正确则输出“not found”的报错
输入正确则会筛选出相应的ip
ip_show.sh 网卡 显示当前的
在这里插入图片描述
测试
在这里插入图片描述

2、显示当前主机的名称

要求:
host_messages.sh 显示当前主机的名称,ip登陆当前主机的用户
hostname:
xxxxx
xxxx.xxxx.xxx.xxx
ipaddress:username: root

#!/bin/bash
echo "hostname: `hostname`"
echo "ipaddress: `ifconfig eth0|awk '/inet\>/{print $2}'`"
echo "username: $USER"

在这里插入图片描述

3、清空日志

clear_log.sh 执行次脚本后可以清空日志

#!/bin/bash
> /var/log/message

在这里插入图片描述
在这里插入图片描述


推荐阅读
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 华为AP3010DNAGN从胖AP转换为瘦AP的过程及版本升级详细记录
    华为AP3010DNAGN从胖AP模式转换为瘦AP模式的过程及其版本升级的详细记录如下:首先,需要了解胖AP与瘦AP的区别。瘦AP(FIT)模式下,设备无法独立运行Wi-Fi功能,必须与AC控制器配合使用,适用于企业多AP的集中管理场景。本文将详细介绍转换步骤和版本升级的具体操作,帮助用户顺利完成配置。 ... [详细]
  • CentOS 7 网络模式下虚拟机的详细配置指南
     1::虚拟机选择net模式  2:虚拟网络配置 此处的网关和网段与下面的ens-33文件配置要一致由ens-33配置文件向这个配置看齐   3:网卡配置文件vietcsyscon ... [详细]
author-avatar
forsoz_627
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有