当前位置: 首页 > news >正文

Shell编程快速入门

Shell编程快速入门

脚本格式要求

  • 脚本以#!/bin/bash开头
  • 脚本需要有可执行权限

脚本的常用执行方式

  • 方式1:输入脚本的绝对路径或相对路径
  • 方式2:sh+脚本

Shell的变量

Shell变量介绍

  • Linux Shell中的变量分为系统变量和用户自定义变量
    • 系统变量:$HOME,$PWD,$SHELL,$USER等等
    • 显示当前shell中所有变量:set

Shell变量的定义

  • 定义变量:变量=值
  • 撤销变量:unset 变量
  • 声明静态变量:readonly 变量

Shell变量的定义规则

  • 变量名称可以由字母、数字和下划线组成,但是不能以数字开头
  • 等号两侧不能有空格
  • 变量名称一般习惯为大写

Shell设置环境变量

基本语法

  • export 变量名=变量值 :将shell变量输出为环境变量
  • source 配置文件:让修改后的配置信息立即生效
  • echo $变量名:查询环境变量的值

Shell注释规则

  • 单行注释#,例如# 这是一个单行注释

  • 多行注释:<<! 内容 !

    • :<<!
      这是一个多行注释
      !
      

Shell位置参数变量

介绍

当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用位置参数变量。

比如:./myshell.sh 100 200这就是一个执行shell的命令行,可以从myshell脚本中获取到参数信息

基本语法

  • $n:n为数字,
    • $0代表命令本身
    • $1-$9代表第一到第九个参数
    • 十以上的参数需要用大括号包含,如${10}
  • $*:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体
  • $@:这个变量也代表命令行中原有的参数,不过区分对待
  • $#:这个变量代表命令行中所有参数的个数

Shell预定义变量

基本介绍

  • 就是shell设计者实现已经定义好的变量,可以直接在shell脚本中使用

基本语法

  • $$:当前进程的进程号PID
  • $!:后天运行的最后一个进程的进程号PID
  • $?:最后一次执行的命令的返回状态。
    • 如果这个变量的值为0,证明上一个命令成功执行
    • 如果这个变量的值为非0,则证明上一个命令执行不正确

运算符

基本语法

  • "$((运算式))""$[运算式]"或者expr m + n,其中m和n都是数字
  • 注意expr运算符间要有空格,如果希望将expr的结果赋给某个变量,使用反引号``
  • expr m - n
  • expr \*,/,% 乘,除,取余

条件判断

基本语法

  • [ condition ]注意condition前后要有空格
    • 非空返回true,可以使用$?验证

判断语句

  • 两个整数的比较

    • -lt:小于

    • -le:小于等于

    • -eq:等于

    • -gt:大于

    • -ge:大于等于

    • -ne:不等于

  • 按照文件权限进行判断

    • -r:由读的权限
    • -w:有写的权限
    • -x:有执行的权限
  • 按照文件类型进行判断

    • -f:文件存在并且是一个常规的文件
    • -e:文件存在
    • -d:文件存在并是一个目录

read读取控制台输入

基本语法

  • read(选项)(参数)
  • 选项
    • -p:指定读取值时的提示符
    • -t:指定读取值时等待的时间(秒),如果没有在指定时间内输入,就不要等待了
  • 参数
    • 变量:指定读取值的变量名

相关文章:

Shell编程快速入门

Shell编程快速入门 脚本格式要求 脚本以#!/bin/bash开头脚本需要有可执行权限 脚本的常用执行方式 方式1&#xff1a;输入脚本的绝对路径或相对路径方式2&#xff1a;sh脚本 Shell的变量 Shell变量介绍 Linux Shell中的变量分为系统变量和用户自定义变量 系统变量&#…...

wpf 3d 坐标系和基本三角形复习

wpf 3d 坐标系的描述见此&#xff0c; WPF 3d坐标系和基本三角形_wpf 坐标系_bcbobo21cn的博客-CSDN博客 X轴正向向右&#xff0c;Y轴正向向上&#xff1b;Z轴&#xff0c;正向是从屏幕里边出来&#xff0c;负向是往屏幕里边去&#xff1b;坐标原点是在呈现区域的中心&#x…...

如何安全变更亚马逊收款账户?

有太多的卖家想知道如何安全变更亚马逊收款账户&#xff0c;因为更改了第三方收款账户可能会导致二次视频认证或者增强视频。真的是这样吗&#xff1f; 其实不推荐亚马逊店铺正常运营之后去变更信用卡&#xff0c;收款账户等重要资料的&#xff0c;因为玩黑科技的卖家也真的多…...

大数据面试题:Hadoop中的几个进程和作用

面试题来源&#xff1a; 《大数据面试题 V4.0》 大数据面试题V3.0&#xff0c;523道题&#xff0c;679页&#xff0c;46w字 可回答&#xff1a;1&#xff09;启动Hadoop&#xff0c;都会有什么进程 参考答案&#xff1a; 1&#xff09;NameNode&#xff1a;Master&#xf…...

题解:ABC276D - Divide by 2 or 3

题解&#xff1a;ABC276D - Divide by 2 or 3 题目 链接&#xff1a;Atcoder。 链接&#xff1a;洛谷。 难度 算法难度&#xff1a;入门。 思维难度&#xff1a;入门。 调码难度&#xff1a;入门。 综合评价&#xff1a;极简。 算法 数论。 思路 由大脑可知&#x…...

后台管理系统

1.1 项目概述 简易后台管理系统是一个基于Vue3ElemrntPlus的后台管理系统&#xff0c;提供了用户登录、记住密码、数据的增删改查、分页、错误信息提示等功能&#xff0c;旨在协助管理员对特定数据进行管理和操作。 没有后台对接&#xff0c;数据源为假数据。 全部代码已上传G…...

C++数据结构之平衡二叉搜索树(一)——AVL的实现(zig与zag/左右双旋/3+4重构)

本文目录 00.BBST——平衡二叉搜索树01.AVL树02.AVL的插入2.1单旋——zig 与 zag2.2插入节点后的单旋实例2.3手玩小样例2.4双旋实例2.5小结 03.AVL的删除3.1单旋删除3.2双旋删除3.3小结 04.34重构05.综合评价AVL5.1优点5.2缺点 06.代码注意插入算法删除算法完整代码&#xff1a…...

静态库和动态库

库文件 库文件是计算机上的一类文件&#xff0c;可以简单的把库文件看成一种代码仓库&#xff0c;它提供给使用者一些可以直接拿来用的变量、函数或类。 库是特殊的一种程序&#xff0c;编写库的程序和编写一般的程序区别不大&#xff0c;只是库不能单独运行。库文件有两种&a…...

用于Voronoi图构建的Fortune算法的C++实现

Voronoi图是一种在计算几何中广泛使用的数据结构&#xff0c;它可以用于解决最近邻搜索、路径规划等问题。在这篇文章中&#xff0c;我们将探讨一种用于构建Voronoi图的高效算法——Fortune算法&#xff0c;并提供其C实现。 一、Voronoi图简介 Voronoi图是由一组点在平面上生…...

笔记汇总 | 斯坦福 CS229 机器学习

文章目录 前言课程参考文章推荐阅读 前言 本文为斯坦福大学 CS229 机器学习课程学习笔记 本文主体部分转载自黄海广博士&#xff0c;文末已给出链接&#xff0c;大家有兴趣可以直接访问笔记首页&#xff0c;下载对应课程资料及作业代码 课程官网&#xff1a;CS229: Machine …...

git 版本管理工具 学习笔记

git 学习笔记 目录 一、git是什么 二、创建仓库 三、工作区域和文件状态 四、添加和提交文件 五、回退版本 &#xff08;了解&#xff09; 六、查看差异 七、删除文件 八、.gitignore文件&#xff08;了解&#xff09; 九、github ssh-key配置 十、本地仓库和远程仓库内…...

Bean基本注解开发和Bean依赖注入注解开发

目录 1.Bean基本注解开发 Component Scorelazy PostConstruct和PreDestroy RepositoryServiceController 2.Bean依赖注入注解开发 Value Autowired Qualifier Resource 扩展AutoWired 1.Bean基本注解开发 基本Bean注解&#xff0c;主要是使用注释的方式替代原有xml的…...

使用IIS服务器搭建一个网站

参考文章 使用IIS&#xff08;Internet Information Services&#xff09;服务器搭建一个网站相对来说是比较简单的。以下是基本的步骤&#xff1a; 安装IIS&#xff1a; 首先&#xff0c;确保你的操作系统已经安装了IIS。在大多数Windows版本中&#xff0c;IIS都是可选安装项…...

HCIP 三层交换机

一、实现VLAN间通信 在传统的交换机组网中&#xff0c;默认所有网络都处于同一个广播域&#xff0c;带来了许多问题&#xff0c;VLAN技术的提出&#xff0c;满足了二层组网隔离广播域需求&#xff0c;使得属于不同的VLAN间网络无法通信&#xff0c;但不同VLAN之间又存在着互相…...

利用python 进行数据分析(第三版)第二章小结

利用python 进行数据分析&#xff08;第三版&#xff09;第二章小结 由于是闲暇时间看的&#xff0c;且为读书笔记&#xff0c;所以只会写一些心得和容易混淆的知识&#xff0c;简单知识将不在重复 在变量或者函数后使用?可以查看详细信息。?还有最后一个用途&#xff0c;即…...

【ASP.NET MVC】使用动软(四)(12)

一、筛选器类和Cookie实现路由 需解决的问题&#xff1a; 网站登录往往需要用户名密码验证&#xff0c;为避免重复验证&#xff0c;一般采用Cookie 、Session等技术来保持用户的登录状态&#xff1a; Session是在服务端保存的一个数据结构&#xff0c;用来跟踪用户的状态&…...

【web逆向】全报文加密及其登录流程的分析案例

aHR0cHM6Ly9oZWFsdGguZWxkZXIuY2NiLmNvbS9zaWduX2luLw 涉及加密库jsencrypt 定位加密点 先看加密的请求和响应&#xff1a; 全局搜索加密字段jsondata&#xff0c;这种非特定参数的一般一搜一个准&#xff0c;搜到就是断点。起初下的断点没停住&#xff0c;转而从调用栈单步…...

MyBatis枚举映射类讨论

前言 本篇需要对于MyBatis有一定的认识&#xff0c;而且只是针对于TypeHandler接口来讨论&#xff0c;暂不讨论其他方面的问题 TypeHandler概叙 TypeHandler是MyBatis设计的一个用于参数的接口&#xff0c;你们会不会很好奇MyBatis是如何把整形&#xff0c;时间&#xff0c;字符…...

微信开发之朋友圈自动点赞的技术实现

简要描述&#xff1a; 朋友圈点赞 请求URL&#xff1a; http://域名地址/snsPraise 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wId…...

Linux命令200例:sed对文本进行修改、替换和删除等操作的强大工具(常用)

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…...

【Axure教程】字母定位选择器

今天教大家用一个中继器制作字母分类定位选择器的原型模板&#xff0c;模版我们用中继器制作的&#xff0c;所以使用也很方便&#xff0c;只需要在中继器表格对应位置填写选项信息&#xff0c;即可自动生成交互效果&#xff0c;具体效果可以打开下方预览地址体验。 【原型效果…...

社区医院信息平台信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

&#x1f4a1;实话实说&#xff1a;有自己的项目库存&#xff0c;不需要找别人拿货再加价&#xff0c;所以能给到超低价格。摘要 随着信息技术的快速发展&#xff0c;医疗行业对信息化管理的需求日益增长。传统的社区医院管理模式存在信息孤岛、数据冗余、效率低下等问题&#…...

Anthropic Skills 解析

Anthropic Skills 解析 基于 anthropics/skills 仓库的完整技术文档 概述 什么是 Skills&#xff1f; Skills&#xff08;技能&#xff09; 是包含指令、脚本和资源的文件夹&#xff0c;Claude 可以动态加载这些内容以提升在特定任务上的表现。Skills 教会 Claude 如何以可重…...

JetBrains IDE试用期管理完全指南:从技术原理到合规使用

JetBrains IDE试用期管理完全指南&#xff1a;从技术原理到合规使用 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 一、问题导入&#xff1a;当试用期结束打断开发流程时 1.1 开发中断的典型场景 想象这样一个…...

Hunyuan-MT-7B GPU部署:Pixel Language Portal在单卡A10上并发处理16路实时语音翻译压测报告

Hunyuan-MT-7B GPU部署&#xff1a;Pixel Language Portal在单卡A10上并发处理16路实时语音翻译压测报告 1. 项目背景与核心价值 Pixel Language Portal&#xff08;像素语言跨维传送门&#xff09;是一款基于Tencent Hunyuan-MT-7B大模型构建的创新翻译工具。与传统翻译软件…...

MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?

一、快速结论&#xff08;先看结论再看分析&#xff09;方式作用效率一句话总结count(*)统计所有行数⭐⭐⭐⭐ 最高我是专业的&#xff01;我为统计而生count(1)统计所有行数⭐⭐⭐⭐ 同样高效我是 count(*) 的马甲兄弟count(列名)统计该列非 NULL 的行数⭐⭐⭐ 较慢我挑剔&…...

PyTorch 3.0静态图训练突然降速37%?紧急排查清单:CUDA Graph复用失效、TensorPipe通道泄漏、以及被隐藏的TORCH_COMPILE_DEBUG=1黄金日志开关

第一章&#xff1a;PyTorch 3.0静态图分布式训练性能骤降的典型现象与影响评估近期多个生产级训练集群反馈&#xff0c;在升级至尚未正式发布的 PyTorch 3.0 预览版&#xff08;基于 TorchDynamo AOTAutograd 的全静态图编译路径&#xff09;后&#xff0c;使用 torch.distrib…...

京东 SPU/SKU 数据接口全解读:商品详情 API 文档(2026 最新版)

京东商品详情 API 体系以SPU&#xff08;标准产品单元&#xff09;聚合、SKU&#xff08;库存单元&#xff09;明细为核心设计&#xff0c;覆盖商家开放平台&#xff08;JOS&#xff09;、京东联盟两大核心场景&#xff0c;支持单品 / 批量查询、全字段 / 指定字段返回&#xf…...

水质评价避坑指南:当DO和NH3-N指标冲突时怎么办?

水质评价指标冲突的智能解法&#xff1a;熵权法实战与多维度决策 当溶解氧&#xff08;DO&#xff09;与氨氮&#xff08;NH3-N&#xff09;这两项关键水质指标出现评价矛盾时&#xff0c;环保工程师常陷入两难——DO浓度越高通常代表水质越好&#xff0c;而NH3-N数值越低则表明…...

10个HTTPie CLI高级功能实战技巧:从入门到精通API调试

10个HTTPie CLI高级功能实战技巧&#xff1a;从入门到精通API调试 【免费下载链接】cli &#x1f967; HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. 项目地址: https:/…...