iOS音视频—Shell脚本语言(语法-变量)

2023-11-19

Shell脚本语法-变量

一、注释

#表示注释
注意:在Shell脚本中没有多行注释,只有单行注释

例如:脚本代码

#!/bin/bash

# 输出了Hello world
echo "hello world!"

二、变量

2.1 变量定义
#!/bin/bash

# 输出了Hello world
#正确写法
#name="smile2018"
#错误写法
name = "smile2018"

echo "hello world!"

注意事项:1.定义变量时,变量名不需要加$符号
2.变量名和等号不能有空格,它和一般的语言不一样
3.变量名首字母必须是字母(a-z,A-Z)
4.变量名之间不允许有空格
5.不允许使用标点符号
…其他细节
name = "smile2018"运行错误
在这里插入图片描述

2.2 只读变量-类似于通常讲的常量

关键字:readonly

在这里插入图片描述

2.3 删除变量

语法:unset(将变量干掉)
示例:
在这里插入图片描述

2.4 变量类型

2.4.1 类型1:本地变量
作用域整个bash进程可以使用
语法: name="Dream"
2.4.2类型2:局部变量
作用域:当前代码段
语法:local name="Andy"
2.4.3类型3:环境变量
作用域:当前shell进程以及子进程
语法:export name="Dream"
2.4.4类型4:位置变量
脚本代码

name=${0}
age=${1}
sex=${2}
echo "姓名:${name} 年龄:${age} 性别:${sex}"

执行脚本

./hello.sh Jeff 150 男

执行结果:

在这里插入图片描述
我们发现执行有错误,赋值错位了,实际上${0}表示的是脚本文件

修改代码
在这里插入图片描述

2.4.5类型5 特殊变量
2.4.5.1 ${0} 文件名称
2.4.5.2 $(?) 表示返回上一个命令,执行状态返回值
0:表示执行成功
1:程序执行结果
2:表示程序状态返回码(0-255)
2.4.5.3 $# 参数个数
2.4.5.4 $* 参数列表
2.4.5.5 $@ 参数列表
2.4.5.6 ${*}${@}的区别
${*}参数列表:会将所有参数组成一个字符串"Andy 200 男"
${@}参数列表:分开展示Andy 200
2.4.5.7 $$ 获取当前shell进程ID
2.4.5.8 $!执行上一个指令的PID

案例测试:
在这里插入图片描述

我们故意设置错误代码

在这里插入图片描述

127属于系统预留错误信息

在这里插入图片描述

GitHub代码示例

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS音视频—Shell脚本语言(语法-变量) 的相关文章

  • Java中占位符的实战运用

    java中的占位符 有以下几种等等 s字符串类型的占位符 b布尔类型的占位符 d整数类型的占位符 c字符类型的占位符 我们大多情况就只用前两种 举个例子 Created by xiwen on 2021 1 14 Slf4j public
  • 常用小工具使用记录整理

    简单记录方便后续使用 1 截图软件 FSCapture exe FSCapture最新版是款适合电脑屏幕中使用的抓屏工具 FSCapture官方版集成了图像捕捉 图像浏览以及图像编辑等功能为一体 帮助用户对截取的图形进行处理操作 并且FSC
  • ionic 解析json串 带(路由 侧拉 效果 上拉刷新 下拉加载)

    先上图看效果 上代码 一般都是 按顺序上代码的
  • 使用STM32高级定时器(TIM8)PWM互补通道输出PWM

    一 为何使用 最近做项目 因为定时器不够用需要用高级定时器 TIM8 来输出PWM来控制电机 刚好硬件工程师把引脚分配到了TIM8定时器CH3的互补通道CH3 ON上 所以需要将CH3 ON当普通的PWM模式输出PWM 特意记录一下 二 下
  • 阿里云Linux热扩容云盘(growpart和resize2fs工具)

    阿里云linux机器系统盘空间不够进行扩容 一 扩容物理盘 阿里云控制台在线扩容完成 二 安装growpart工具和resize2fs工具 root A yum install cloud utils growpart root A yum
  • token保活设计.md

    如果我们要使用token机制用以标识用户登录状态 以获得请求相关资源接口的权限 让你来设计一套方案 以为怎么设计呢 通常有两种思路 1 使用refreshtoken获取新的accesstoken 登录成功之后 返回一个返回refreshto
  • jQuery动态控制单选框选中,实现radio单选框选中后触发事件。prop()选中,取消事件判断。

    input name IS BREAK value 0 prop checked true div class form group div
  • 重读百度移动生态:“第一曲线”的创新“延长线”

    刚刚结束的 WISE2022新经济之王 大会上 百度集团资深副总裁 百度移动生态事业群组总经理何俊杰在主旨演讲中断言 百度搜索 百度APP是AI规模最大的应用场景 随着AI预训练大模型 AIGC 数字人等新技术的规模化落地 其AI带来的创新
  • 【STM32】IIC使用中DMA传输时 发送数据总少一个的问题

    问题描述 在使用STM32 I2C数据发送过程中 发现每轮实际发送出去的数据总比在DMA配置中设定的传输数据个数要少一个 比方说 DMA配置里设定的传输数据个数是10个 结果发现在总线上只能发出9个 经过进一步发现是少了最后一个数据 当对I
  • 简单认识KLT(Kanade-Lucas-Tomasi )跟踪算法

    KLT Kanade Lucas Tomasi 跟踪算法 前言 研究目标跟踪的算法种类颇多 主要可分为两大类 一类是传统的目标跟踪算法 包括粒子滤波 pf Mean Shift及KLT算法 或称Lucas光流法 另一大类是基于深度学习的跟踪
  • 字节跳动笔试---字母交换,最多m次

    参考 https blog csdn net cxzzxc123456 article details 79058419 编码题 字符串S由小写字母构成 长度为n 定义一种操作 每次都可以挑选字符串中任意的两个相邻字母进行交换 询问在至多交
  • [ C语言练习题 5 ] 矩阵转置(将矩阵的行列互换得到的新矩阵)

    题目来源 矩阵转置 牛客题霸 牛客网 描述 KiKi有一个矩阵 他想知道转置后的矩阵 将矩阵的行列互换得到的新矩阵称为转置矩阵 请编程帮他解答 输入描述 第一行包含两个整数n和m 表示一个矩阵包含n行m列 用空格分隔 1 n 10 1 m
  • 使用库函数sqrt求平方根 C语言入门

    欢迎关注笔者 你的支持是持续更博的最大动力 目录 问题描述 库函数 头文件 代码 其他 问题描述 使用库函数sqrt求平方根 库函数 库文件 Library function C C 标准规定的 编译器自带的函数 库函数顾名思义就是库里已存
  • 【QML】如何在QML中添加自定义模块并使用

    一 引言 在 导入本地QML文档目录 一文中 记录了如何导入本地QML文档 本文将记录 如何在QML中使用自定义模块 二 过程记录 本文以一个backend目录来存放自定义的模块 在该目录放置一个Data目录作为模块 其中用于描述模块的就有
  • C语言递归类练习题目

    题目 1 递归和非递归分别实现求第n个斐波那契数 2 编写一个函数实现n k 使用递归实现 3 写一个递归函数DigitSum n 输入一个非负整数 返回组成它的数字之和 例如 调用DigitSum 1729 则应该返回1 7 2 9 它的

随机推荐