介绍下Shell中的${}、##和%%使用范例,本文给出了不同情况下得到的结果。
假设定义了一个变量为:
代码如下:
file=/dir1/dir2/dir3/my.file.txt
可以用${ }分别替换得到不同的值:
${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt
${file#*.}:删掉第一个 . 及其左边的字符串:file.txt
${file##*.}:删掉最后一个 . 及其左边的字符串:txt
${file%/*}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个 / 及其右边的字符串:(空值)
${file%.*}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
记忆的方法为:
# 是 去掉左边(键盘上#在 $ 的左边)
%是去掉右边(键盘上% 在$ 的右边)
单一符号是最小匹配;两个符号是最大匹配
${file:0:5}:提取最左边的 5 个字节:/dir1
${file:5:5}:提取第 5 个字节右边的连续5个字节:/dir2
也可以对变量值里的字符串作替换:
${file/dir/path}:将第一个dir 替换为path:/path1/dir2/dir3/my.file.txt
${file//dir/path}:将全部dir 替换为 path:/path1/path2/path3/my.file.txt

linux shell 中 %% *的含义相关推荐

  1. linux shell 中21含义

    /mnt/Nand3/H2000G >/dev/null 2>&1 & 对 于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO ...

  2. 【转】linux shell 中21含义

    原文出处:http://www.cnblogs.com/caolisong/archive/2007/04/25/726896.html 脚本是:       nohup /mnt/Nand3/H20 ...

  3. linux shell中21的含义

    linux shell中"2>&1"的含义 2>&1 的意思就是将标准错误重定向到标准输出.这里标准输出已经重定向到了 /dev/null.那么标准错误 ...

  4. Linux shell中2>1的含义

    转载来源 :Linux shell中2>&1的含义 作者:一个行走的民 https://blog.csdn.net/zhaominpro/article/details/82630528 ...

  5. Linux Shell中有三种引号的用法

    Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中 ...

  6. linux shell $0怎么输出,linux shell中$0,$?,$!等的特殊用法

    一.Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 (1)$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) (2)$! Shell最后运行的后台Pr ...

  7. linux的shell的功能,linux shell中${ }的一些特异功能

    linux shell中${ }的一些特异功能,这部分内容是shell中的比较经典的部分之一,建议认真学习,深刻体会. 假设我们定义一个变量为: file=/dir1/dir2/dir3/my.fil ...

  8. Linux shell 中的数组和关联数组

    写在前面的话 我用开始废柴了,这个又是写给我自己看的了. 普通数组 1.数组的定义 在Linux shell中定义一个普通的数组很简单,首先我们先给数组命名(当然要符合所有的命名规则咯).定义数组的一 ...

  9. Linux Shell中的延时函数

    Linux Shell中的延时函数 在 linux shell 脚本中经常需要做一些延时处理. 所以经常要用到 sleep 或 usleep 函数. 下面来说一下  sleep 和 usleep 的区 ...

最新文章

  1. 使用 TOGAF 9.1 框架與 ArchiMate 3.0 建模語言
  2. SAP ABAP DDICSAP ABAP DDIC table runtime object table runtime object
  3. 线程事件--day36
  4. 前端学习(3308):redux项目创建和概况
  5. java数组与以逗号分隔开的字符串的相互转换
  6. CSS3新增属性之圆角、盒阴影、字阴影
  7. 16级大一c语言考试题及答案,2013年计算机二级C语言上机试题十六及答案
  8. linux学习入门标准教程(2)
  9. maven修改本地仓库地址配置文件
  10. 使用 VLD 检测内存泄漏
  11. java 区分中英文_Java 区分文本中的中英文字符函数
  12. android 手机超频降频秘籍
  13. javacv开发详解之19:如何使用批量的多张图片制作apng动态图,再也不用担心不会制作动态图了
  14. 云网络运维必备神器:全链路故障诊断与分析
  15. antd中默认的样式修改不了咋办呢,捉急呀
  16. “天涯棋客”回沪教棋
  17. easyui-03(Tree后端工作)
  18. jflow部分代码重构
  19. 这十一个副业在家就可以完成,疫情在家也有收入,建议收藏
  20. 447 回旋镖的数量(暴力枚举)

热门文章

  1. java中实例变量指什么呢?
  2. Unity3D 渲染操作
  3. Stacked-Autoencoder
  4. 2020-10-22OpenCV 获取摄像头并显示摄像头视频
  5. 计算机如何看网络电视,电脑怎么看电视直播?
  6. php判断是否为手机、微信访问代码,100%精准
  7. 关于8421BCD码与余三码
  8. linux查看内存是否是ecc reg,如何确定我的内存是ECC还是Non-ECC?
  9. CPU时钟周期、主频、CPI、MIPS
  10. [附源码]java毕业设计英语知识竞赛报名系统