Linux中#和%号在参数替换结构中的作用
来源:互联网 发布:linux 打开控制台 编辑:程序博客网 时间:2024/05/29 03:03
问题来源:
echo
echo ${PATH##*:}
问题:一个#与两个#有输出会有什么区别?以上三条命令会有什么区别?
[root@oracledb 桌面]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
[root@oracledb 桌面]# echo ${PATH#*:}
/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
[root@oracledb 桌面]# echo ${PATH##*:}
/root/bin
设a=dir1/dir2/dir3/my.file.txt
则:
echo {a#*/} 输出结果为 dir2/dir3/my.file.txt ——删除第一条 / 左侧的字符串
echo{a##*/} 输出结果为 my.file.txt ——删除最后一条 / 左侧的字符串
echo {a#*.} 输出结果为 file.txt ——删除第一个 . 左侧的字符串
echo{a##*.} 输出结果为 txt ——删除最后一个 . 左侧的字符串
echo {a%/*} dir1/dir2/dir3
echo{a%%/*} dir1
echo {a%%.*} dir1/dir2/dir3/my
echo{a%.*} /dir3/my.file
总结: #是从左向右匹配 %是从右向左匹配
##是最长匹配 # 是最短匹配
%%是最长匹配 %是最短匹配
- Linux中#和%号在参数替换结构中的作用
- Linux中#和%号在参数替换结构中的作用
- #和##在宏替换中的作用
- #和##在宏替换中的作用
- #和##在宏替换中的作用
- Ubuntu中的在文件中查找和替换命令
- Ubuntu中的在文件中查找和替换命令
- Linux在所有文件中查找和替换
- Linux中ifreq 结构体分析和使用 及其在项目中的简单应用
- 比较LANG和NLS_LANG在Linux中的作用
- linux系统中的主目录结构及其作用
- Java 中break 和 continue在循环中的作用
- 在linux系统中procfs和devfs文件系统作用
- 在SQL中,替换字符串中的汉字
- Java参数中的\替换
- shell中的参数替换
- shell中的参数替换
- 在命令行中的替换和截取字符串
- 深入理解Map与Set---用集成HashSet来实现Map
- MySQL数据库设置主从同步
- [iOS]AppStore最新上架流程梳理
- C++连接Oracle之ADO
- 安卓自定义View基础-坐标系
- Linux中#和%号在参数替换结构中的作用
- wpf 如何将参数通过CommandParameter 传入viewmodel
- Conversion to Dalvik format failed: Unable to execute dex:
- 安卓系统与API版本对应关系
- ListView属性详解 参考3
- 保存到本地的方法
- C++之system函数
- CDH5.4.0安装时遇到的问题
- iOS监听音量调节事件