linux sh expr冒号,linux expr命令参数及用法详解

expr命令一般用于整数值,但也可用于字符串。一般格式为:#expr argument operator argumentexpr也是一个手工命令行计数器。#$expr 10 + 1020#$expr 1500 + 9002500#$expr 30 / 310#$expr 30 / 3 / 25(注意运算符左右都有空格)使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义。#$expr 30 * 3

9017.5.1 增量计数expr在循环中用于增量计算。首先,循环初始化为0,然后循环值加1,反引号的用法意即替代命令。最基本的一种是从(expr)命令接受输出并将之放入循环变量。$LOOP=0#$LOOP=`expr $LOOP + 1`17.5.2 数值测试可以用expr测试一个数。如果试图计算非整数,将返回错误。$rr=1.1#$expr $rr + 1#expr: non-numeric argument$rr=2$expr $rr + 13(注意:这个例子与原文不同)这里需要将一个值赋予变量(不管其内容如何),进行数值运算,并将输出导入dev/null,然后测试最后命令状态,如果为0,证明这是一个数,其他则表明为非数值。$value=12#$expr $value + 10 > /dev/null 2>&1$echo $?0这是一个数。$value=hello#$expr $value + 10 > /dev/null 2>&1$echo $?2这是一个非数值字符。expr也可以返回其本身的退出状态,不幸的是返回值与系统最后退出命令刚好相反,成功返回1,任何其他值为无效或错误。下面的例子测试两个字符串是否相等,这里字符串为“hello”和“hello”。$value=hello$expr $value = "hello"1$echo $?0expr返回1。不要混淆了,这表明成功。现在检验其最后退出状态,返回0表示测试成功,“hello”确实等于“hello”。17.5.3 模式匹配expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。$value=accounts.doc$expr $value : '.*'12在expr中可以使用字符串匹配操作,这里使用模式. d o c抽取文件附属名。$expr $value : '(.*).doc'accounts=============================请问各位大虾:shell 中有数组吗? 当然有,用$varname[0]=value1$varname[1]=value2....来定义用$echo ${varname[0]}方式来引用### 字串长度shell>> expr length "this is a test"14### 数字商数shell>> expr 14 % 95### 从位置处抓取字串shell>> expr substr "this is a test" 3 5is is### 数字串 only the first charactershell>> expr index "testforthegame" e2### 字串真实重现shell>> expr quote thisisatestformelathisisatestformela~~~~~~~~~~~~~~~~~expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。–格式为:expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)–参数应用规则:用空格隔开每个项;用 \ (反斜杠) 放在 shell 特定的字符前面;对包含空格和其他特殊字符的字符串要用引号括起来–expr用法实例讲解:(1)、计算字串长度> expr length “this is a test”14(2)、抓取字串> expr substr “this is a test” 3 5is is(3)、抓取第一个字符数字串出现的位置> expr index “sarasara”  a2(4)、字串真实重现> expr quote sarasara(5)、整数运算> expr 14 % 95> expr 10 + 1020> expr 1000 + 9001900> expr 30 / 3 / 25> expr 30 \* 3 (使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义)90> expr 30 * 3expr: Syntax error(6)、增量计数说明:expr在循环中用于增量计算。先将变量初始化为0,然后循环值加1,反引号的用法为命令替代。> LOOP=0> LOOP=`expr $LOOP + 1`(7)、数值测试说明:用expr测试一个数。如果试图计算非整数,则会返回错误。> rr=3.4> expr $rr + 1expr: non-numeric argument> rr=5> expr $rr + 16(8)、模式匹配说明:expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。> VALUE=account.doc> expr $VALUE : ‘.*’8在expr中可以使用字符串匹配操作,这里使用模式抽取.doc文件附属名。$expr $VALUE : ‘.?.doc’

accounts

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

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

相关文章

TortoiseSVN忽略文件或文件夹

TortoiseSVN忽略文件或文件夹 方法一: 选择项目目录—>右键–选择TortoiseSVN–Properties 1.svn:ignore:必须每个工作目录都要设置 2.global-ignores:只需要配置一次 添加内容: .settings .settings/* target target/* .classpath .p…

Showdoc使用——接口文档

一、到showdoc官方注册账号 官方地址https://www.showdoc.com.cn/ 登录并创建一个项目,如图: 二、下载showdoc环境 再项目设置中有开发api,点开如下: 其中就是官方教程,简单全面。showdoc基础就是使用官方脚本 https://git-scm.com/downloa…

usb转并口支持linux,使用PCI转并口实现SJF刷写嵌入式开发板

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/embedded/sjf_board_usingpci_to_ltp.html整理电脑文件发现曾经写的这个文档,怕找不到了,丢这吧。引言&#xff1a…

软件概要设计与详细设计的区别

概要设计与详细设计的区别 概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什…

linux下c语言俄罗斯方块,c语言做俄罗斯方块

我来对这段程序做一下注释:#include /*标准库*/#include /*绘图库*/#include /*BIOS库,输入输出,BIOS时间等*/#define mDRAW 5 /*各种消息的宏定义*/#define mLINE 6#define mADOWN 7#define mGEN 8#define mLEFT 75#define mRIGHT 77#define…

8款JVM性能调优监控工具(提高开发效率)

在平时的开发当中我们总是会遇到各种各样的问题,比如说内存泄漏、死锁、CPU等。遇到问题不可怕,关键是我们如何去排查这些错误,对症下药才是根本。不过对于很多人来说,往往找不到这些问题的根本所在,因此这篇文章主要是…

linux的静态编译elf无法调试,[翻译]自己动手编写一个Linux调试器系列之4 ELF文件格式与DWARF调试格式 by lantie@15PB...

自己动手编写一个Linux调试器系列之4 ELF文件格式与DWARF调试格式 by lantie15PB在上一节中,你已经听说了DWARF调试格式,它是程序的调试信息,是一种可以更好理解源码的方式,而不只是解析程序。今天我们将讨论源代码级调试信息的细…

SpringBoot踩坑记录 Invalid bound statement (not found)引发的一些列问题

SpringBoot踩坑记录 Invalid bound statement (not found)引发的一些列问题 当你开开心心搭建了一个SpringBoot项目,用插件生成了entity、dao、mapper,写下第一个Controller准备试一下,结果却发现一条简单的查询报错了。 {"timestamp…

Linux检查wlan0是否存在,linux - airmon-ng将wlan0更改为wlan0mon但不恢复[​​关闭] - 堆栈内存溢出...

我有同样的问题关闭wlan0mon(但在Kali Linux,而不是Ubuntu),我相信我的一位同事因此而锁定了几个适配器。 但是,从2016年4月14日开始,Colin在2016年4月14日的优秀答案中纠正了我的硬件问题(ALFA AWUS036NHA),而无需两次…

Java中switch参数传null会引起异常——Java 语法糖

问题 switch 参数不能是null,swicth(null)会报java.lang.NullPointerException异常 查找原因 为什么会这样呢,查找一下原因: 找到编译后的class文件,就明白了 总结: switch 是一个语法糖。switch语句是先计算 par…

linux head命令作用,Linux查看文件内容之head命令

1. head命令简介本文主要介绍head命令的作用与常用使用方法,该命令和tail命令相反,head默认显示用来显示文本开头,而tail默认显示结尾某个数量的文字区块。2. head命令选项-q 隐藏文件名-v 显示文件名-c 显示字节数-n 显示的行数3. 常见使用方…

java.util.concurrent.TimeUnit

JavaAPI:https://docs.oracle.com/javase/8/docs/api/index.html 1 TimeUnit api:https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html TimeUnit是java.util.concurrent包下面的一个类;TimeUnit 是Java枚举应用场…

c语言数组宏定义标识符,C语言学习笔记--预编译/宏定义/数组/参数传递/函数指针...

目录预编译值传递、指针传递、引用传递数组typedef 函数指针预编译预编译又叫预处理。预编译不是编译,而是编译前的处理。这个操作是在正式编译之前由系统自动完成的。#define 和 #include 一样,都是以“#”开头的。凡是以“#”开头的均为预处理指令。#d…

凑钱系统C语言,C语言课程设计报告书凑钱程序.doc

C语言课程设计报告书凑钱程序西北师范大学知行学院计算机与电子信息工程系课程设计报告书课程名称: C语言程序设计专 业: 电子信息工程课题名称: 凑钱程序班 级: 13电本班学 号: 201392170114姓 名: 秦波指导教师: 柴西林二○一三 ——二○一四 学年 第一学期基于C语…

SpringBoot使用jasypt加解密密码

在我们的服务中不可避免的需要使用到一些秘钥(数据库、redis等);使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。打开application.properties或application.yml&…

android 写字体投影,android-给字体设置投影

1,在代码中添加文字阴影TextView 有一个方法/*** Gives the text a shadow of the specified radius and color, the specified* distance from its normal position.** attr ref android.R.styleable#TextView_shadowColor* attr ref android.R.styleable#TextView…

Java包装类中的equals方法

基本数据类型包装类中的equals方法用于比对相同包装类中的值是否相等,如果两者比较的包装类类型不同则返回false; 1、基本型和基本型封装型进行“”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较, 2.两个包裝类型…

android 开源图表动画,Android 图表开发开源库MPAndroidChart-Go语言中文社区

上面是APP中实现的效果图(点击可以放大查看)图1的效果不是用这个实现的,如果感兴趣可以参考我这篇文章 Android渐变圆环总体来说,MPAndroidChart可能是目前Android 开发最好用的一个三方库了,功能非常强大,集成简单。直接导入作为…

电脑开启防火墙后ping不通 及 开启防火墙后,不能远程的解决办法

有些情况下电脑需要开防火墙但是又希望能被远程或者ping通。 一、先查看电脑的网络类型(第二步中打开对应网络类型下的协议) 二、控制面板 - Windows防火墙 - 高级设置-入站规则 (1)开启防火墙后,能ping通设置。 &…

android 时间应用程序,Android在首次启动时需要更多时间启动应用程序

在我的项目中,我使用了需要multidex支持的库。 根据我的研究,我发现它会导致应用启动时出现延迟。我在gradle中启用了multidexfunction。 defaultConfig {multiDexEnabled true}我曾经为kitkat设备获得NoClassDefFound Exception,所以我添加了…