Expression1

{ (.*/)"`

只要 $FLAG shell

变量前面有连字符,就会除去连字符。冒号运算符给出 FLAG 变量的一部分,该变量由在

/( 和 /) 字符(反斜杠,开括号和反斜杠,闭括号)中间的子表达式匹配。如果您忽略

/( 和 /)

子表达式字符的话,冒号运算符会给出匹配的字符数目。

如果 $FLAG 变量设置成

-(连字符),那么该命令会显示一个语法错误消息。这是因为 shell 会将 $FLAG 变量的值替换,在运行

expr 命令之前。expr

命令不知道连字符是一个变量的值。它只能理解:

- : -*/(.*/)

并且它会将第一个连字符解释成减号运算符。要消除这种问题,请使用:

FLAG=`expr "x$FLAG" : "x-*/(.*/)"`

要想使用 expr 命令在

if 语句中,请输入:

if expr "$ANSWER" : "[yY]" >/dev/null

那么返回 ANSWER 以 "y" 或 "Y" 开始fi

如果 $ANSWER 变量以 y 或 Y 开始的话,if 语句的

then

部分会执行。如果匹配成功表达式的结果为 1,并且 expr 命令会返回一个为 0

的出口值,此出口值被 if 语句识别成逻辑值 True。如果匹配失败,结果为 0,出口值为

1。

将 expr 命令的标准输出重新定向到

/dev/null

特殊文件,而废弃该表达式的结果。如果您没有对它重新定向,结果就会写到标准输出中,通常是您的工作站显示器。

考虑以下表达式:

expr "$STR" = "="

如果 $STR 变量有值为 = (等号),那么在 shell

处理完此命令之后,expr 命令会看到表达式:

= = =

expr

命令将此解释成在一行中的三个等号运算符,并显示一个语法出错消息。一旦 shell 变量的值与

expr 运算符中的一个相同,这种情况就会发生。避免这种问题的方法是,将该表达式写成:

expr "x$STR" = "x="

要想返回 $SHELL 环境变量 /usr/bin/ksh

的长度,请输入:

expr length $SHELL

显示以下内容:

12

要想返回 "de" 字符串中的任何一个字符在 "abcdef"

中出现的第一个位置,请输入:

expr index abcdef de

显示以下内容:

4

要想返回 "fd" 字符串的任何字符在 "abcdef"

中出现的第一个位置,请输入:

expr index abcdef fd

显示以下内容:

4

要想返回 "Goodnight Ladies" 字符串中从位置

11 开始的 6 个字符长的字符串,请输入:

expr substr "Goodnight Ladies" 11 6

显示以下内容:

Ladies

linux程序中expr是什么意思,Linux中expr命令 (转)相关推荐

  1. linux程序打桩,一文搞懂linux的库打桩

    Linux下的链接器支持一个强大的库打桩(library interpositioning),允许你阻拦对系统标准库中某个目标函数的调用,取而代之执行自己的包装函数.它可以给我们带来两个好处,一是通过 ...

  2. linux 程序 加密码忘了怎么办,linux忘记了密码怎么办

    图形界面grub篇和文本界面Lilo分别介绍 1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键 2. 再次用上下键选中你平时启动linux的那一项(类似 ...

  3. Linux内存中加载二进制,linux – 程序退出后二进制文件会留在内存中吗?

    我知道程序首次启动时,由于代码不在内存中,因此在开始时会出现大量页面错误,因此需要从磁盘加载代码. 程序退出后会发生什么?二进制文件是否留在内存中?该程序的后续调用是否会发现代码已经在内存中,因此没有 ...

  4. 如何在浏览器中运行Linux程序,如何在Chromebook的浏览器标签中运行完整的Linux桌面 | MOS86...

    Crouton是在Chromebook上运行Linux操作系统的最佳方法.现在吧 这是它 工作原理相关文章图片1tupian购买适用于Linux的Chromebook时,需要牢记4件事 这种方法需要一 ...

  5. Linux程序内存跟踪,分享一款Linux进程和内存活动监视神器

    原标题:分享一款Linux进程和内存活动监视神器 像"top "之类的命令行工具使得监视CPU使用率和内存使用率有些困难.这就是我们今天向您介绍vtop的原因, vtop是一个用N ...

  6. linux程序安装包怎么用,制作Linux下程序安装包——使用脚本打包bin、run等安装包...

    制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了.一般这个后部分的文件是个压缩 包,那样,就能够打包很多文件了,在脚本中解压出来即可. ...

  7. linux程序测试工具gprof,gprof-如何在Linux上分析多线程C ++应用程序?

    gprof-如何在Linux上分析多线程C ++应用程序? 我曾经使用gprof进行所有Linux分析. 但是,对于我的多线程应用程序,它的输出似乎不一致. 现在,我将其挖掘出来: [HTTP://S ...

  8. linux程序默认启动项,windows和linux双系统,设置默认启动项

    在终端里输入:sudo gedit /boot/grub/grub.cfg 先装windows而后装linux系统,默认启动项会非常多,执行上面的命令后,会打开一个文档,里面代码如下: ------- ...

  9. Linux程序卡顿,记一次Linux系统卡顿的排查过程

    1.使用w命令查看系统负载,发现系统负载很高:(该服务器只有一个CPU,load average值的意义是单位时间段内CPU活动进程数,这个值越大就说明服务器压力越大,一般情况下这个值只要不超过服务器 ...

  10. a9 linux 程序下载,金山发布WPS for Linux A9下载

    3月22日消息,金山今日晚间发布了WPS for Linux A9下载,新增了跨程序带格式复制粘贴.表格新增百万行列等八大功能. 新增8大功能: 1.实现众人关注的跨程序带格式复制粘贴功能: 2.表格 ...

最新文章

  1. jvm(3)-垃圾收集器与内存分配策略
  2. java 查看堆外内存占用_如何监控和诊断JVM堆内和堆外内存使用?
  3. 关于C语言goto的使用
  4. 性能测试-ApacheBench
  5. 处理整个磁盘镜像文件的单个分区
  6. 190607每日一句
  7. 中小学生计算机一等奖李广圆,喜报:昌乐一中学生在第二十届全国中小学电脑制作活动中获两项大奖...
  8. java编码规范试题_java编码规范考试题答案完整版.doc
  9. SQL2008R2数据库安装教程
  10. 机器人运动估计系列(番外篇)——从贝叶斯滤波到卡尔曼(上)
  11. 如何绘制深度神经网络图
  12. ChatGPT 会开源吗?
  13. 卸载mysql5.6.34_完全卸载linux的MySQL
  14. 人体属性检测与深度实战
  15. 电商APP首页楼层架构设计详解
  16. border渐变 ios_iOS给视图添加渐变色
  17. 18对个人财富的窥视——对一款手机木马的解读及分析
  18. 《计算机网络技术》第三章课后习题答案(全)
  19. SouthernBiotech 艾美捷Fluoromount-G功能参数
  20. 最新BlOS详解,及UEFi引导重装系统方法

热门文章

  1. LaTex warning:Font shape `TU/ppl/bx/n' undefined(Font) using `TU/ppl/m/n' instead
  2. basys3芯片型号xc7a35tcpg236-1
  3. 简单小知识 记录一下 慢慢更新积累
  4. 虹软AI 人脸识别SDK接入 — 性能优化篇(多线程)
  5. 找出占用的端口进程ID,并且杀死该进程
  6. (分治)7617:输出前k大的数
  7. 学习python 基础密码验证
  8. 文件的操作,如何做文件上传
  9. backup archivelog delete input 与delete all input 区别
  10. 排序1+3:基数排序(RadixSort),希尔排序(ShellSort)和快速排序(QuickSort)