编写一个shell脚本,想用从一个绝对路径得到一个文件名。
直接使用basename在脚本中,莫名地报了一个permission denied的错误。
就干脆想想如何通过字符串操作来解决。搜索整理了一下:
${var#pattern} 是要将变量值左边的最短 pattern 拿掉。
${var##pattern} 是要将变量值左边的最长 pattern 拿掉。
${var%pattern} 是要将变量值右边的最短 pattern 拿掉。
${var%%pattern} 是要将变量值右边的最长 pattern 拿掉。
${var%/*} 就是将最后一个 / 及其右边的内容拿掉。
${var##*/} 就是将最后一个 / 及其左边的内容拿掉。由此可以得到文件名。
${var/a/b}把var中的'a'替换为'b'
举例:
pathname=/home/allen/shell/test.tar.gz
echo ${pathname}
echo ${pathname##/*/}
echo ${pathname#/*/}
echo ${pathname%.*}
echo ${pathname%%.*}
echo ${pathname/test/allen}
输出为
/home/allen/shell/test.tar.gz
test.tar.gz
allen/shell/test.tar.gz
/home/allen/shell/test.tar
/home/allen/shell/test
/home/allen/shell/allen.tar.gz
分享到:
相关推荐
sqlite-shell-win32-x86-3080200.zip sqlite的windows版本
Linux运维-运维系统服务04-Shell脚本d2-shell基础知识-10环境变量分类.mp4
10.4.1 Shell基础-Bash变量-用户自定义变量.mp4 10.4.2 Shell基础-Bash变量-环境变量.mp4 10.4.3 Shell基础-Bash变量-位置参数变量.mp4 10.4.4 Shell基础-Bash变量-预定义变量.mp4 10.5.1 Shell基础-Bash变量-...
csapp-shell-labcsapp-shell-labcsapp-shell-labcsapp-shell-labcsapp-shell-labcsapp-shell-labcsapp-shell-labcsapp-shell-labcsapp-shell-labcsapp-shell-labcsapp-shell-labcsapp-shell-labcsapp-shell-labcsapp...
Linux运维-3.Shell编程-11shell基础-110环境变量1.avi
Linux之shell脚本基础详细教程大全—shell脚本基础1-变量
Linux运维-3.Shell编程-11shell基础-121环境变量配置文件1.avi
Linux运维-3.Shell编程-11shell基础-112环境变量3.avi
Linux运维-3.Shell编程-11shell基础-111环境变量2.avi
Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06
Linux运维-运维系统服务04-Shell脚本d2-shell基础知识-11系统内置变量1.mp4
Linux运维-运维系统服务04-Shell脚本d7-Shell三剑客(下)-08awk变量定义和打印.mp4
最新的sqlite3 下载方便在win上面使用 sqlite-shell-win32-x86-3080403
网上可以下到sqlite-shell-win32-x86: sqlite3.exe 2. 为了方便命令行执行,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。 3. 执行 sqlite3 .svn/wc.db "select * from work_queue".看到有4条记录。就是...
中文shell十三问--shell入门 第三种变量的替换方法是只有当变量已赋值时才用指定值替换形式: ${variable: +value} 只有变量variable已赋值时,其值才用value替换,否则不进行任何替换,例如: $ERROPT=A $...
Shell基础-环境变量配置文件-简介
Linux运维-3.Shell编程-11shell基础-113位置参数变量1.avi
大学期间学习linux下的shell编程--考勤系统 带详细实验报告
shell脚本学习指南-中文版shell脚本学习指南-中文版shell脚本学习指南-中文版shell脚本学习指南-中文版shell脚本学习指南-中文版shell脚本
Shell十三问-ChinaUnix精华贴整理,doc版更清晰更易用