做打牌的网站怎么办/百度收录推广
目录
一、echo 命令
二、字符串相关操作
1.截取字符串
2.获取字符串长度
3.字符串追加字符
4.从开头或结尾删除字符串指定格式内容
三、随机数
1.使用 $RANDOM
2.指定RANDOM变量的范围
(1)从0开始的范围
(2)从指定数始的范围
四、从文件获取循环语句的取值
1.for 循环从文件取值
2. while 循环从文件取值
五、IFS变量指定字段分隔符
1.查看IFS变量指定的字段分隔符
2.永久修改字段分隔符
3.临时修改字段分隔符
一、echo 命令
echo [选项] ... 将指定内容(字符、变量、命令等)标准输出到屏幕
-n 不换行输出(默认是换行输出)
-e 输出转义字符,将转义后的内容输出
-e 支持输出内容常用转义字符
转义字符 | 作用 |
---|---|
\b | 转义后相当于退格键(删除前一个字符,可使用多次) |
\c | 不换行输出,在“\c”后面不存在字符的情况下,相当于echo -n 在“\c”后面存在字符的情况下,后面的字符不会被输出 |
\n | 换行,被输出的字符从“\n”处开始另起一行输出 |
\f | 换行,“\f”后换行输出的字符,开头从上一行结尾开始 |
\v | 与“\f”相同 |
\t | 转义后相当于插入tab制表符 |
\r | 光标移至行首(不换行)将\r后的字符从头输出,覆盖原有长度的内容 |
\ | 输出特殊字符本身,如\ 输出\ 本身,$ 输出 $本身 |
[root@localhost1 ~]#echo "abcd" && echo "abcd"
abcd
abcd
[root@localhost1 ~]#echo -n "abcd" && echo "abcd"
abcdabcd
[root@localhost1 ~]#echo -e "abcd\befg"
abcefg
[root@localhost1 ~]#echo -e "abcd\cefg"
abcd
[root@localhost1 ~]#echo -e "abcd\nefg"
abcd
efg
[root@localhost1 ~]#echo -e "abcd\fefg"
abcdefg
[root@localhost1 ~]#echo -e "abcd\vefg"
abcdefg
[root@localhost1 ~]#echo -e "abcd\tefg"
abcd efg
[root@localhost1 ~]#echo -e "abcd\refg"
efgd
[root@localhost1 ~]#echo -e "\\ \$"
\ $
二、字符串相关操作
1.截取字符串
${变量名:索引:长度}
注:索引是指一个字符串中,字符排序的编号,索引编号以0开头(第一个字符编号为0)
//定义变量string
[root@localhost1 ~]#string=nicetomeetyou
//截取
[root@localhost1 ~]#echo ${string:6:4}
meet
[root@localhost1 ~]#echo ${string:0:4}
nice
2.获取字符串长度
${#变量名}
[root@localhost1 ~]#string=nicetomeetyou
[root@localhost1 ~]#echo ${#string}
13
3.字符串追加字符
变量+=字符串或变量 //将原有的变量值后追加指定的字符串或变量值
[root@localhost1 data]#vim string.sh
#!/bin/bash
string1=abcdefg
string1+=hijk -- 追加字符串
echo $string1
string2="nice to meet "
yourname=jack
string2+=$yourname -- 追加变量的值
echo $string2
[root@localhost1 data]#bash string.sh
abcdefghijk
nice to meet jack
4.从开头或结尾删除字符串指定格式内容
echo ${变量名%指定格式内容}
echo ${变量名%%指定格式内容}
echo ${变量名#指定格式内容}
echo ${变量名##指定格式内容}
% | 从末尾往前匹配最短符合指定格式的内容并删除 |
---|---|
%% | 从末尾往前匹配最长符合指定格式的内容并删除 |
# | 从开头往后匹配最短符合指定格式的内容并删除 |
## | 从开头往后匹配最长符合指定格式的内容并删除 |
指定格式内容 | 字符串中符合某个内容特征的格式(如:*是以:开头后面有若干字符) |
最短符合可理解为只有一段满足指定格式的内容;最长符合可理解为所有满足指定格式的内容。
//定义一个变量i
[root@localhost1 ~]#i="11,22,33,44"
[root@localhost1 ~]#echo $i
11,22,33,44
//对$i中从结尾开始最短满足,*格式的内容进行删除
[root@localhost1 ~]#echo ${i%,*}
11,22,33
//对$i中从结尾开始最长满足,*格式的内容进行删除
[root@localhost1 ~]#echo ${i%%,*}
11
//对$i中从开头开始最短满足*,格式的内容进行删除
[root@localhost1 ~]#echo ${i#*,}
22,33,44
//对$i中从开头开始最长满足*,格式的内容进行删除
[root@localhost1 ~]#echo ${i##*,}
44
//对$i中从结尾开始最短满足*,*,格式的内容进行删除
[root@localhost1 ~]#echo ${i#*,*,}
33,44
三、随机数
1.使用 $RANDOM
$ RANDOM //RANDOM变量可以生成随机数(默认范围 0 ~ 32767)
[root@localhost1 ~]#echo $RANDOM
6584
[root@localhost1 ~]#echo $RANDOM
14161
2.指定RANDOM变量的范围
(1)从0开始的范围
$[ RANDOM % n ] //n代表指定数字,使用取余操作可实现指定随机数范围( 0 ~ n-1)
//取 0~9 的随机数
[root@localhost1 ~]#echo $[RANDOM % 10]
0
[root@localhost1 ~]#echo $[RANDOM % 10]
4
[root@localhost1 ~]#echo $[RANDOM % 10]
6
[root@localhost1 ~]#echo $[RANDOM % 10]
8
(2)从指定数始的范围
$[ RANDOM % n + x ] //x为指定数字,n 后加上 x ,代表的随机数范围是( x ~ n-1+x)
//取 1~100 范围的随机数
[root@localhost1 ~]#echo $[RANDOM % 100 + 1]
38
[root@localhost1 ~]#echo $[RANDOM % 100 + 1]
49
[root@localhost1 ~]#echo $[RANDOM % 100 + 1]
76
[root@localhost1 ~]#echo $[RANDOM % 100 + 1]
12
四、从文件获取循环语句的取值
首先创建文件用于下面的脚本取值,这里每个取值使用换行符分割,实际上每个取值默认可以通过空格、制表符、换行符
//创建文件用于脚本取值
[root@localhost1 ifstest]#vim value.txt
zhangsan
lisi
wangwu
zhaoliu
qianqi
zhuba
1.for 循环从文件取值
for 变量名 in $(cat 文件位置)
do
命令序列
done
//for 循环从文件取值
[root@localhost1 ifstest]#vim CatchFileValue.sh
#!/bin/bash
for i in $(cat /ifstest/value.txt)
doecho $i
done
[root@localhost1 ifstest]#bash CatchFileValue.sh
zhangsan
lisi
wangwu
zhaoliu
qianqi
zhuba
2. while 循环从文件取值
while read 变量名
do
命令序列
done < file
[root@localhost1 ifstest]#vim CatchFileValue.sh
#!/bin/bash
while read i
doecho $i
done < /ifstest/value.txt
[root@localhost1 ifstest]#bash CatchFileValue.sh
zhangsan
lisi
wangwu
zhaoliu
qianqi
zhuba
cat 文件位置 | while read 变量名
do
命令序列
done
[root@localhost1 ifstest]#vim CatchFileValue.sh
#!/bin/bash
cat /ifstest/value.txt | while read i
doecho $i
done[root@localhost1 ifstest]#bash CatchFileValue.sh
zhangsan
lisi
wangwu
zhaoliu
qianqi
zhuba
五、IFS变量指定字段分隔符
1.查看IFS变量指定的字段分隔符
[root@localhost ~]# set | grep IFS //使用此命令可以查看IFS指定的字段分隔符
-- IFS变量指定的字段分隔符默认为 (空格)、\t(tab制表符)、\n(enter换行符)
[root@localhost1 ~]#set | grep IFS
IFS=$' \t\n' local i IFS='local i IFS=" "'local i IFS=" "'local i IFS='local i IFS='local c i=0 IFS='local IFS='local IFS='local option option2 i IFS='IFS='local IFS='local IFS='local IFS='local IFS='local IFS='local IFS='local i IFS='local IFS='local i c='' IFS='local OIFS=$IFS IFS='IFS=$OIFS;local IFS='local IFS='local IFS='local IFS='
2.永久修改字段分隔符
//直接修改IFS变量的值,可以实现永久修改字段分隔符
[root@localhost1 ~]#IFS=$'/n'
[root@localhost1 ~]#set | grep IFS
IFS=/n -- 这里显示已经被修改成/n(换行符)local i IFS='local i IFS=" "'local i IFS=" "'local i IFS='
...
3.临时修改字段分隔符
//指定文件用于循环语句取值
[root@localhost2 ~]#vim value.txt
zhang san
li si
wang wu
zhao liu
qian qi
zhu ba
//默认情况的$IFS会指定空格、制表符、换行符为字段分割符
[root@localhost2 ~]#vim CatchFileValue.sh
#!/bin/bash
for i in `cat /root/value.txt`
doecho $i
done
//文件中的值输出效果如下
[root@localhost2 ~]#bash CatchFileValue.sh
zhang san
li si
wang wu
zhao liu
qian qi
zhu ba
zhang
san
li
si
wang
wu
zhao
liu
qian
qi
zhu
ba
在一个脚本中,如果某段命令行程序需要使用特定的字段分隔符,可使用如下操作
IFSb=$IFS -- 自定义一个变量,将$IFS的变量值赋给此变量
IFS='\n' -- 修改$IFS指定的字段分隔符
命令序列 -- 修改后的命令序列将会使用修改后的$IFS指定的字段分隔符
IFS=$IFSb -- 将自定义的变量再赋值给$IFS,即恢复原本的$IFS
命令序列 -- 之后的命令将不会受到之前修改的$IFS的影响
[root@localhost2 ~]#vim CatchFileValue.sh
#!/bin/bash
IFSb=$IFS
IFS=$'\n' -- 将字段分割符改为\n(换行符)
for i in `cat /root/value.txt`
doecho $i
done
echo "------------"
IFS=$IFSb -- 将原本的$IFS变量值恢复
for j in `cat /root/value.txt`
doecho $j
done
[root@localhost2 ~]#bash CatchFileValue.sh
zhang san -- 实现只取换行符分割的字段
li si
wang wu
zhao liu
qian qi
zhu ba
------------
zhang --恢复后不受之前修改的影响,与原本输出效果相同
san
li
si
wang
wu
zhao
liu
qian
qi
zhu
ba
相关文章:

shell脚本编写辅助命令
目录 一、echo 命令 二、字符串相关操作 1.截取字符串 2.获取字符串长度 3.字符串追加字符 4.从开头或结尾删除字符串指定格式内容 三、随机数 1.使用 $RANDOM 2.指定RANDOM变量的范围 (1)从0开始的范围 (2)从指定数始…...

高并发编程:线程池
一、概述 线程池首先有几个接口先了解第一个是Executor,第二个是ExecutorService,在后面才是线程池的一个使用ThreadPoolExecutor。 二、Executor Executor看它的名字也能理解,执行者,所以他有一个方法叫执行,那么执…...

微信小程序开发uni-app-8分钟上手开发
本篇文章uni-app微信小程序开发-8分钟上手开发 -首先到微信小程序官网登录/注册微信小程序 微信小程序官网 uni-app 微信小程序 注册微信小程序 这里要注意: 激活邮箱之后,选择主体类型为 “个人类型”,并按要求登记主体信息。主体信息提…...

【C++11】 initializer_list | 右值引用 | 移动构造 | 完美转发
文章目录 1. 统一的列表初始化{ } 初始化initializer_list 2. 引用左值引用右值引用左值引用与右值引用的相互转换右值引用的真正使用场景移动构造 C98与C11传值返回问题注意事项总结 3. 完美转发 1. 统一的列表初始化 { } 初始化 C11 扩大了括号括起的列表(初始化列表)的使用…...

基于html+css的图展示122
准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…...

《Unix环境高级编程》/bin/sh: ./fixup.awk: Permission denied
我的代码是从http://www.apuebook.com/code3e.html下载的,先是在 使用cat /etc/redhat-release看到操作系统是CentOS Linux 7.6,使用uname -r看到内核是3.10.0-957.el7.x86_64。 在代码顶级目录下,执行make。 发现报错: ./fi…...

万字长文+示例代码详解DDD中常用的架构(含代码示例)
目录 分层架构(Layered Architecture) 概念 示例代码 总结 领域驱动设计的六边形架构(Hexagonal Architecture) 概念 示例代码 总结 CQRS(Command Query Responsibility Segregation) 概念 示例…...

Debezium UI On ECS编译安装及开放Web访问
1. 访问debezium-ui的代码仓库,下载源码 GitHub - debezium/debezium-ui: A web UI for Debezium; Please log issues at https://issues.redhat.com/browse/DBZ. 2. 解压zip源码包: TEST[hadoopshdcvfsla1894 ~]$ cd /data/module TEST[hadoopshd…...

【支付系统】核心支付流程
支付在产品中常见的用处为购买和充值.这两种功能操作大相径庭,其中购买相对充值多了很多步骤,它需要锁商品或者库存,还需要超时未支付取消订单等操作.在这篇文章中主要探讨支付部分,属于购买和充值公共部分. 下面是绘制的简易支付时序图 以上时序图并非完整,其实核心步骤就是, …...

电脑系统可以直接备份到其它硬盘上吗
在日常使用电脑的过程中,我们都希望能够保护好重要的系统数据,以防止意外数据丢失或系统崩溃。那么,能否将电脑系统直接备份到其他硬盘上呢?本文将为您解答这个问题,并探讨备份系统的方法和注意事项。 工具/原料&…...

springboot项目如何优雅停机
文章目录 前言kill -9 pid的危害如何优雅的停机理论步骤优雅方式1、kill -15 pid 命令停机2、ApplicationContext close停机3、actuator shutdown 停机4、ApplicationListener 监听延时停机 前言 相信很多同学都会用Kill -9 PID来杀死进程,如果用在我们微服务项目里…...

springboot mybatis-plus 代码生成工具
介绍 基于mybatis-plus代码生成工具 后续会不断完善 规划 后续会基于此功能搞低代码平台,会有前端VUE mybatis-plus介绍&特性 • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 • 损耗小࿱…...

超全、超详细的Redis学习笔记总结
❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…...

Day05 04-MySQL分库分表介绍
文章目录 第十七章 MySQL分库分表17.1 什么是分库分表17.2 为什么要分库分表17.3 垂直切分17.3.1 垂直分库17.3.2 垂直分表 17.4 水平切分17.4.1 水平分库17.4.2 水平分表17.4.3 常见的水平切分规则 第十七章 MySQL分库分表 17.1 什么是分库分表 MySQL数据库常见的优化方案中…...

基于SpringBoot+vue的毕业生信息招聘平台设计和实现
博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…...

git一定要学会,加油
gitgit文档http://file:///F:/%E8%B5%84%E6%96%99%E5%A4%8D%E4%B9%A0/Git%E4%BC%98%E7%A7%80%E5%BC%80%E6%BA%90%E4%B9%A6%E7%B1%8D/Git%E5%BC%80%E6%BA%90%E4%B9%A6%E7%B1%8D/Pro%20Git%E4%B8%AD%E6%96%87PDF%E7%89%88.pdf init 初始化仓库 这个命令在当前目录下初始化一个 G…...

TVM面试题
1、TVM中的调度器(Scheduler)是什么?请简要解释TVM调度器的作用和工作原理。 TVM中的调度器(Scheduler)是负责将计算图映射到特定硬件目标上的组件。调度器在TVM中起着关键的作用,它决定了计算图的执行方式、并行化策略以及内存布局等,以优化…...

CSS相关面试题
1、标准盒子模型和IE怪异盒子模型? 标准盒子模型就是指的元素的宽度和高度仅包括的内容区域,不包括边框和内边距,也就是说,元素的实际宽度和高度等于内容区域的宽度和高度IE怪异盒子是指元素的高度和宽度,包括内容区域…...

6.11总结
这周准备了蓝桥杯,主要看了一些以前学过的东西,看了二分,树状数组,树状数组二分,复习了利用倍增相关的算法。 周六去打的蓝桥杯,总体来说也就一般吧,出了考场突然想起来我b题中间的称号写成了加…...

Hazel游戏引擎(008-009)事件系统
文中若有代码、术语等错误,欢迎指正 文章目录 008、事件系统-设计009、事件系统-自定义事件前言自定义事件类与使用声明与定义类代码包含头文件使用事件 事件调度器代码 C知识:FunctionBind用法function基本使用 012、事件系统-DemoLayer用EventDispache…...

【C++】 STL(上)STL简述、STL容器
文章目录 简述STL容器list链表vector向量deque双端队列map映射表set集合hash_map哈希表 简述 STL是“Standard Template Library”的缩写,中文译为“标准模板库”。STL是C标准库的一部分,位与各个C的头文件中,即他并非以二进制代码的形式提供…...

【002 基础知识】什么是原子操作?
一、原子操作 原子操作就是指不能再进一步分割的操作。 二、为了实现一个互斥,自己定义一个变量作为标记来作为一个资源只有一个使用者行不行? 不行。如果在一个线程正持有锁时(2处),线程上下文发生切换,…...

English Learning - L3 作业打卡 Lesson5 Day32 2023.6.5 周一
English Learning - L3 作业打卡 Lesson5 Day32 2023.6.5 周一 引言🍉句1: What do you read when you are travelling by train or bus?成分划分弱读爆破语调 🍉句2: What are other passengers reading?成分划分弱读连读语调 🍉句3: Perh…...

深度学习应用篇-自然语言处理-命名实体识别[9]:BiLSTM+CRF实现命名实体识别、实体、关系、属性抽取实战项目合集(含智能标注)【上篇】
【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…...

腾讯安全SOC+荣获“鑫智奖”,助力金融业数智化转型
近日,由金科创新社主办,全球金融专业人士协会支持的“2023鑫智奖第五届金融数据智能优秀解决方案评选”榜单正式发布。腾讯安全申报的“SOC基于新一代安全日志大数据平台架构的高级威胁安全治理解决方案”获评“鑫智奖网络信息安全创新优秀解决方案”。 …...

Python绘制气泡图示例
部分数据来源:ChatGPT 引言 在数据可视化领域中,气泡图是一种能够同时展示三维信息的图表类型,常用于表示数据集中的两个变量之间的关系。Python中提供了许多用于绘制气泡图的可视化库,比如pyecharts。在本篇文章中,我们将介绍如何使用pyecharts库绘制一个简单的气泡图,…...

数学建模经历-程序人生
引言 即将大四毕业(现在大三末),闲来无事(为了冲粽子)就写一篇记录数学建模经历的博客吧。其实经常看到一些大佬的博客里会有什么"程序人生"、"人生感想"之类的专栏,但是由于我只是一个小趴菜没什么阅历因此也就没有写过类似的博客…...

数字电子电路绪论
博主介绍:一个爱打游戏的计算机专业学生 博主主页:夏驰和徐策 所属专栏:程序猿之数字电路 1.科技革命促生互联网时代 科技革命对互联网时代的兴起产生了巨大的推动作用。以下是一些科技革命对互联网时代的促进因素: 1. 计算机技…...

电脑丢失dll文件一键修复需要什么软件?快速修复dll文件的方法
在使用电脑的过程中,我们经常会遇到程序无法正常运行的情况,提示“XXX.dll文件丢失”的错误。这时候,很多人会感到困惑,不知道该如何解决。本文将详细介绍dll文件丢失的各种原因、如何使用dll修复工具进行一键修复dll丢失问题以及…...

你知道微信的转账是可以退回的吗
微信作为当今最受欢迎的即时通讯软件之一,其转账功能得到了广泛的应用。在使用微信转账时,我们可能会遇到一些问题,例如误操作、支付失败或者需要退款等等。 首先需要注意的是,微信转账退回的操作只能在“一天内未确认”时进行。如…...