创建并使用shell脚本

news2024/11/16 8:32:56

1,查询 bash解释器 所在位置

创建前,我们需要先知道 bash 解释器所在的位置,以方便在头部写声明。一般位置是在 /bin/bash 但是有的是在 /usr/bin/bash ,所以需要查找一下。

文件位置查找命令:whereis xxx

root@armbian:~# whereis bash
bash: /usr/bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

上面指令查询到的位置是:   /usr/bin/bash

2,创建一个新文件,用来写shell程序

命令:touch xxx.sh 新建一个叫 xxx.sh 的文件

root@armbian:~/ddns# pwd
/root/ddns
root@armbian:~/ddns# touch dd.sh
root@armbian:~/ddns# la
.build  dd.sh

3, 用编辑器打开文件,写入shell程序

因为新系统没有安装vim编辑器,这里使用系统自带的nano编辑器:nano xxx
头部bash解释器位置声明格式如下:

#!/usr/bin/bash  或者  #!/bin/bash

拓展:也可以使用env的方式: #!/usr/bin/env bash  具体参考:#!/bin/bash 和 #!/usr/bin/env bash 的区别-CSDN博客

这里,因为上面我们查出的位置是 /usr/bin/bash,我们按下面输入结束后,退出并保存内容。

​​​​​​​#!/usr/bin/bash
# 接下来写指令即可,如下:
# 例1:hostname -I | awk " " '{print $3}'
# 例2:ddns -c /root/ddns/config.json

4,赋予脚本文件执行的权限

接下来, 赋予 ddns.sh 这个文件可执行权限,我们先看下当前的权限,输入ls -ll 如下

使用 chmod a+x xxx  或者 chmod +x  xxx   或者 chmod 777 xxx 给文件加上可执行权限如下:

修改权限后文件颜色会发生变化, 如下:

 

5,脚本的执行

脚本执行方式:

sh 命令执行:sh /xx/xx/xxx.sh

bash命令执行:bash /xx/xx/xxx.sh

./xxxx.sh 执行:../xxx.sh

本次,执行命令为:sh ddns.sh   或   bash ddns.sh  或  ./ddns.sh

执行一次,看看效果,输入 ddns 回车即可(执行shell脚本不需要输入后缀),效果如下:

root@armbian:~/ddns# ./ipv6.sh         // 执行方式1
2409:7c43:e9:9114:117a:ab97:6d98:d2bd

root@armbian:~/ddns# bash ipv6.sh      // 执行方式2
2409:7c43:e9:9114:117a:ab97:6d98:d2bd

root@armbian:~/ddns# sh ipv6.sh        // 执行方式3
2409:7c43:e9:9114:117a:ab97:6d98:d2bd

至此,脚本弄好了。

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

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

相关文章

Probabilistic and Geometric Depth: Detecting Objects in Perspective 论文学习

论文地址:Probabilistic and Geometric Depth: Detecting Objects in Perspective Github 地址:Probabilistic and Geometric Depth: Detecting Objects in Perspective 1. 解决了什么问题? 3D 目标检测在许多应用中发挥着重要作用&#xf…

分析的四个维度

我们都听过这句格言“数据是新石油”——一种宝贵、丰富的资源,只有提炼后才有用。然而,最引人注目但又令人望而生畏的比较之一是将船只送入海洋进行石油勘探。有些会失败,有些会有重大发现。 深海勘探和钻探取决于精确测绘和对海底的清晰认…

【计算机网络】图解内容分发网络 CDN

【计算机网络】图解内容分发网络 CDN 参考资料: 用了CDN就一定比不用更快吗? 什么是内容分发网络 高性能利器:CDN我建议你好好学一下! 文章目录 【计算机网络】图解内容分发网络 CDN一、CDN 概述1.1、什么是 CDN1.2、为什么需要 …

数字化转型导师坚鹏:数字化转型背景下的企业人力资源管理

企业数字化转型背景下的企业人力资源管理 课程背景: 很多企业存在以下问题: 不清楚企业数字化转型目前的发展阶段与重要应用? 不知道企业数字化转型给企业人力资源管理带来哪些机遇与挑战? 不知道企业数字化转型背景下如何…

SpringBoot 项目如何实现动态配置多数据源?

简介: dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。 其支持 Jdk 1.7, SpringBoot 1.4.x 1.5.x 2.x.x。 特性: 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持…

认识JavaBean

什么是JavaBean? JavaBean是指符合特定规范以及定义的Java类,通常用于封装数据,提供访问数据的方法和属性,并且可以被其他程序重用。它具有以下特点: 遵循特定编程规范:JavaBean必须要遵循JavaBean编程规范&#xff…

分层领域模型相关总结(DO/PO/VO/BO/DTO/Query等概念)

分层领域模型(DO/PO/VO/BO/DTO/Query等概念) 1. 为什么会有这么多O的概念? 各种分层概念的提出都是为了解耦,增加逻辑/代码的复用,便于后期维护/开发,提高团队开发效率;but,过多的细分也会使得开发过程相对…

Chrome 113 发布,默认启用 WebGPU

经过四周时间开发,Chrome 113 稳定版正式推出,新版本包括用于视频电话会议的 AV1 视频编码、WebGPU,以及其他增强功能。 默认启用 WebGPU WebGPU 是用于 Web 的新 API,它使用了现代的硬件功能,允许在 GPU 上进行渲染和…

Unable to import maven project: See logs for details错误的多种解决方法

文章目录 1. 复现错误2. 分析错误3. 解决问题3.1 解决方法一3.2 解决方法二 4. 补充说明 1. 复现错误 今天从gitlab上下载完项目后,无法启动项目,留意到右下角的Evnet Log,点开如下图所示: 即Unable to import maven project: See…

vue-element-admin快速搭建后台模板

快速搭建后台模板 环境以及会出现的问题安装目录结构基本配置路由配置 环境以及会出现的问题 node版本17.0.0 python版本2.7.10(node-sass依赖) 运行项目报错Error: error:0308010C:digital envelope routines::unsupport 请看这篇文章 https://blog.cs…

FM33A048B I2C

I2C 模块实现MCU 与外部I2C 接口器件之间的同步通信,硬件实现串并转换。支持I2C 的主机模式,不支持从机模式和多主机模式。 特点: ⚫ 只支持I2C 主机模式, 不支持从机模式和多主机模式 ⚫ 支持7 位或10 位从机地址 ⚫ 传输速度支持标准模式(1…

Java面试题总结 | Java面试题总结10- Feign和设计模式模块(持续更新)

文章目录 Feign项目中如何进行通信Feign原理简述 设计模式spring用到的设计模式项目的场景中运用了哪些设计模式写单例的时候需要注意什么工厂模式的理解设计模式了解么工厂设计模式单例设计模式代理设计模式策略模式**模板方法模式**观察者模式**适配器模式**观察者模式**适配…

TimeScaleDB食用手册

TimescaleDB食用手册 一 TimescaleDB介绍 TimescaleDB是一种用于处理时间序列数据的开源时序数据库,它是PostgreSQL的扩展。它可以处理大量的时间序列数据,并且支持SQL查询和连续聚合功能。 1.TimescaleDB的优点 分布式架构:TimescaleDB利…

类和对象上

文章目录 一、类的定义1、声明和定义全部放在类体中2、 类声明放在.h文件中,成员函数定义放在.cpp文件中 二、类的访问限定符三、类的作用域类及其实例化1、作用域2、实例化 四、类对象大小的计算1、计算对象(仅成员变量)2、计算方式&#xf…

iMazing2官方下载最新iPhone/iPad手机设备管理工具

iMazing 2最新版它可以完美地在 iOS 设备之间传输数据。 该软件专门设计用于为用户提供对 iPhone、iPod 和 iPad 的更多控制和管理能力。 它将所有这些高价值设备变成了外部存储,以便您可以交换各种数据,例如短信、通话记录、视频或照片。值得信赖的是&a…

学习k近邻算法(KNN)【自学且自用】

文章目录 1 概念2 原理及举例3 KNN中最常用的距离度量——欧式距离4 K值的选择5 knn和k-means的区别 参考的一些网页: https://zhuanlan.zhihu.com/p/143092725 1 概念 k近邻算法(k-nearest neighbour,k-NN)是一种基本分类与回归…

JavaEE-HTML常用标签了解(二)

目录 表格标签合并单元格 列表标签表单标签无语义标签HTML特殊字符 表格标签 table 标签: 表示整个表格tr: 表示表格的一行td: 表示一个单元格th: 表示表头单元格. 会居中加粗thead: 表格的头部区域(注意和 th 区分, 范围是比 th 要大的)tbody: 表格得到主体区域. <table …

CAS简介

文章目录 前言一、锁&#xff1f; CAS?二、juc--java.util.concurrent1.CAS思想的落地2 ABA问题出现3 可以解决的问题 总结 前言 CAS的全称是&#xff1a;比较并交换&#xff08;Compare And Swap&#xff09;。在CAS中&#xff0c;有这样三个值&#xff1a; V&#xff1a;要…

基于YOLOv5的目标检测系统详解(附MATLAB GUI版代码)

摘要&#xff1a;本文重点介绍了基于YOLOv5目标检测系统的MATLAB实现&#xff0c;用于智能检测物体种类并记录和保存结果&#xff0c;对各种物体检测结果可视化&#xff0c;提高目标识别的便捷性和准确性。本文详细阐述了目标检测系统的原理&#xff0c;并给出MATLAB的实现代码…

IPRAN网络结构智能优化

IPRAN&#xff08;Internet Protocol Radio Access Network&#xff09;是指基于IP技术的无线接入网络&#xff0c;是当前移动通信重要基础网络。然而&#xff0c;随着技术的快速发展&#xff0c;IPRAN网络规模不断扩大&#xff0c;网络结构日趋复杂&#xff0c;运维网优愈发困…