Bash Parameter Expansion
I suppose everyone knows this, but I just learned.
So to chop the extension off a a bash command line parameter, $1, it's
Intuitive.
From bash manual:
${parameter%word}${parameter%%word}The word is expanded to produce a pattern just as in filename expansion. If the pattern matches a trailing portion of the expanded value of parameter, then the result of the expansion is the value of parameter with the shortest matching pattern (the ‘%’ case) or the longest matching pattern (the ‘%%’ case) deleted. If parameter is ‘@’ or ‘’, the pattern removal operation is applied to each positional parameter in turn, and the expansion is the resultant list. If parameter is an array variable subscripted with ‘@’ or ‘’, the pattern removal operation is applied to each member of the array in turn, and the expansion is the resultant list.
So to chop the extension off a a bash command line parameter, $1, it's
${1%.*}
Intuitive.
Comments
Post a Comment