However, buried in there is a section on
Parameter Substitution which tells us that $foo is really a shorthand for ${foo} which is really the simplest case of several ${foo
:operators} and similar constructs.
Given: foo=/tmp/my.dir/filename.tar.gz
We can use these expressions:- path = ${foo%/*}
- To get: /tmp/my.dir (like dirname)
- file = ${foo##*/}
- To get: filename.tar.gz (like basename)
- base = ${file%%.*}
- To get: filename
- ext = ${file#*.}
- To get: tar.gz
-
- ${variable%pattern}
- Trim the shortest match from the end
- ${variable##pattern}
- Trim the longest match from the beginning
- ${variable%%pattern}
- Trim the longest match from the end
- ${variable#pattern}
- Trim the shortest match from the beginning
No comments:
Post a Comment