These short cuts have been documented under parameter expansion for a long time but are not well known because people are used to writing basename and dirname.
Instead of using:
file=$(basename "$path")
use
file=${path##*/}
Instead of using:
dir=$(dirname "$path")
use
dir=${path%/*}
The advantage is not calling basename as an extra process. Although basename might be implemented as a builtin in some shells.
See the linked page for further short cuts.
Instead of using:
file=$(basename "$path")
use
file=${path##*/}
Instead of using:
dir=$(dirname "$path")
use
dir=${path%/*}
The advantage is not calling basename as an extra process. Although basename might be implemented as a builtin in some shells.
See the linked page for further short cuts.
No comments:
Post a Comment