Linux shell 学习笔记
变量内容的删除与替换
下面以使用path环境变量的内容来测试
先让小写的path设置与PATH的内容相同
duxiaolei@duxiaoleideMacBook-Pro:LeetCode_study$path=${PATH}
duxiaolei@duxiaoleideMacBook-Pro:LeetCode_study$echo $path
/usr/local/opt/qt/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/duxiaolei/bin
去掉3.6/bin:前面的两个目录
duxiaolei@duxiaoleideMacBook-Pro:LeetCode_study$echo ${path#/*3.6/bin:}
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/duxiaolei/bin
用 于 字 符 串 的 读 取 , 提 取 和 替 换 功 能 , 可 以 使 用 {}用于字符串的读取,提取和替换功能,可以使用 用于字符串的读取,提取和替换功能,可以使用{} 提取字符串
1. 提取文件名
#:符合替换文字的最短的那一个
##:符合替换文字的最长的那一个
var=dir1/dir2/file.txt
uxiaolei@duxiaoleideMacBook-Pro:LeetCode_study$mkdir -p dir1/dir2
duxiaolei@duxiaoleideMacBook-Pro:LeetCode_study$cd dir1/dir2/
duxiaolei@duxiaoleideMacBook-Pro:dir2$touch file.txt
duxiaolei@duxiaoleideMacBook-Pro:dir2$cd ../../
duxiaolei@duxiaoleideMacBook-Pro:LeetCode_study$VAR=dir1/dir2/file.txt
duxiaolei@duxiaoleideMacBook-Pro:LeetCode_study$echo ${VAR##*/}
file.txt