相关疑难解决方法(0)

dirname 和 basename vs 参数扩展

是否有任何客观理由偏爱一种形式而不是另一种形式?性能、可靠性、便携性?

filename=/some/long/path/to/a_file

parentdir_v1="${filename%/*}"
parentdir_v2="$(dirname "$filename")"

basename_v1="${filename##*/}"
basename_v2="$(basename "$filename")"

echo "$parentdir_v1"
echo "$parentdir_v2"
echo "$basename_v1"
echo "$basename_v2"
Run Code Online (Sandbox Code Playgroud)

产生:

/some/long/path/to
/some/long/path/to
a_file
a_file
Run Code Online (Sandbox Code Playgroud)

(v1 使用 shell 参数扩展,v2 使用外部二进制文件。)

shell shell-script filenames basename variable

24
推荐指数
3
解决办法
3万
查看次数

标签 统计

basename ×1

filenames ×1

shell ×1

shell-script ×1

variable ×1