首页 > 系统相关 >正点原子Ubuntu入门015---shell脚本入门

正点原子Ubuntu入门015---shell脚本入门

时间:2023-07-27 19:23:04浏览次数:46  
标签:脚本 shell 入门 cmd1 cmd2 --- 命令 执行

一、什么是shell脚本

  shell脚本类似于Windows的批处理文件,shell脚本就是将连续执行的命令写成一个文件

  shell脚本提供数组、循环、条件判断功能。shell脚本一般是Linux运维或者系统管理员要掌握的,作为嵌入式开发人员,只需要掌握基本的命令即可

二、shell脚本的写法

shell脚本是一个纯文本文件,命令从上而下,一行一行开始执行,shell脚本扩展名为 .sh

shell脚本第一行一定为:

#!/bin/bash

 

表示使用bash

二、shell脚本基本语法

  • echo “xxx”     在终端显示字符串xxx 
  • read  变量名 -----读取输入变量    $变量名-----引用变量输出
  • read -p   读取多个变量
#!/bin/bash
read -p "input your name and height:" age height
echo "your age = $age,your height = $height" 

 

 

read使用int类型变量 就需要加括号    $(变量)

   三、test命令

test命令用于查看文件是否存在、权限等信息 ,可以进行数值、字符 、文件三方面测试 

&&命令和||命令

  • cmd1 && cmd2    当cmd1执行完毕且正确,那么cmd2开始执行,如果cmd1执行完毕错误,cmd2不执行
  • cmd1 || cmd2   当cmd1执行完毕且正确,那么cmd2不执行,反之则执行

查看文件是否存在:

 查看俩字符串是否相等:

 

  • 中括号【】

中括号里面写  ==  或者   !=

 中括号与字符之间必须要有空格!!!且中括号里面的字符串要加 “ ”

  • 默认变量

$0~$n:表示shell脚本的参数,包括shell脚本命令本身,shell脚本命令本身为$0

 $#:#表示最后一个符号

$@:表示$1、$2、$3……

 

 

标签:脚本,shell,入门,cmd1,cmd2,---,命令,执行
From: https://www.cnblogs.com/xlscn/p/17585340.html

相关文章

  • fluent elasticsearch6 fluent-plugin-elasticsearch install
    一、安装fluent-plugin-elasticsearch编写DockerfileFROMfluent/fluentd:v1.12.0-debian-1.0USERrootRUNgemuninstall-Ielasticsearch&&geminstallelasticsearch-v6.8.0RUN["gem","install","fluent-plugin-elasticsearch&qu......
  • Jenkins-Pipline实现原理
    Jenkins-Pipline原理本文仅探讨jenkinspipline的原理,是流水线的一个demo版本实现,不能代表Jenkinspipline的具体实现,仅供参考。1.Jenkins流水线介绍Jenkinsfile流水线是JenkinsCI/CD工具中用来定义、构建和管理软件交付流程的一种声明式文件。它允许将整个软件交付流程......
  • 记录--虚拟 DOM 和实际 DOM 有何不同?
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言本文我们会先聊聊DOM的一些缺陷,然后在此基础上介绍虚拟DOM是如何解决这些缺陷的,最后再站在双缓存和MVC的视角来聊聊虚拟DOM。理解了这些会让你对目前的前端框架有一个更加底层的认识,这也有助于你更好......
  • 9、教程-2环境修改
    在本教程中,我们将教您如何在环境中创建简单的对象。第一步是创建一个与环境相互作用的球。我们将讨论与节点相关的几个概念:它们的含义是什么,如何创建它们,它们必须如何附属,等等。此外,我们将了解如何设置物理。将介绍几种类型的节点。其详细定义见参考手册。将节点图表放在你面前,也......
  • 9、教程-3控制器的更多方面
    现在我们开始讨论与机器人控制器编程相关的主题。我们将设计一个简单的控制器,以避免在前面的教程中创建的障碍。本教程将向您介绍Webots中机器人编程的基础知识。在本章末尾,您应该了解场景树节点和控制器API之间的链接是什么,机器人控制器必须如何初始化和清理,如何初始化机器人设备......
  • shell 脚本的5种执行方式比较
    方式1:直接运行方式2:使用命令sh或bash方式3:使用命令source或.分类:是否需要执行权限只有方式1需要执行权限。这是因为方式1把脚本作为可执行文件,自然需要执行权限,但方式2和方式3都是把脚本作为命令的参数,可以不具备执行权限是否会创建子进程只有方式3不会创建子进......
  • Sa-Token简单几行代码,优雅的实现 SpringBoot 鉴权
    一、添加依赖二、设置配置文件三、创建测试Controller:登录接口四、创建测试Controller:普通访问接口五、检验当前会话是否已经登录六、路由拦截鉴权七、自定义全局异常拦截添加依赖<dependency><groupId>cn.dev33</groupId><artifactId>......
  • ETHERNET/IP转PROFIBUS-DP网关EtherNet/IP与Profibus DP通讯网关
    大家好,今天要给大家介绍一款非常神奇的通讯网关捷米特JM-DPM-EIP!这款产品可以将各种PROFIBUS-DP从站接入到ETHERNET/IP网络中,真是一款神奇的产品啊!你是否想过,如果没有这款产品,PROFIBUS-DP从站和ETHERNET/IP网络之间该怎么通讯呢?让我们来看看这款产品到底有哪些神奇之处吧! 这款......
  • 2023-7-27 WPF自定义命名空间在xaml中的使用
    xaml自定义命名空间【作者】长生为啥要用自定义命名空间这是常见的几种命名空间xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:Rxsfadsf"xmlns:s......
  • Still waiting to schedule task ‘nodejs-html5’ is offline
    运行任务时等待节点在线的解决方案在进行分布式任务调度时,我们可能会遇到一个问题:当一个节点不在线时,我们如何等待节点上线再执行任务?本文将介绍如何使用Node.js编写代码实现此功能。问题描述假设我们有一个任务调度程序,使用Node.js编写。在这个任务调度程序中,我们有一个名为nod......