2 个版本
0.0.5 | 2023 年 8 月 20 日 |
---|---|
0.0.4 | 2023 年 8 月 20 日 |
2751 在 命令行工具
7KB
68 行
pathmerge
帮助输出
Usage: pathmerge [OPTIONS] [paths]...
Arguments:
[paths]... list of paths to include
Options:
-d, --delimiter <delimiter> Specify delimiter to use, bash ':', fish ' ' [default: :]
-p, --path <path> Path string [env: PATH=/home/user/bin:/usr/bin:/usr/local/bin:/usr/local/sbin]
-s, --sort If the resulting output should be sorted
-h, --help Print help
-V, --version Print version
使用示例
从环境变量中提取 PATH 并追加
PATH="/path1:/path2:/path3"
PATH="$(pathmerge /path4)"
echo $PATH
# output
/path1:/path2:/path3:/path4
提供 PATH 并追加
NEWPATH="$(pathmerge --path /a:/b:/c /z)"
echo $NEWPATH
# output
/a:/b:/c:/z
自动去重
UGLYPATH="/a:/b:/c:/a:/a:/c:/b:/c"
CLEANPATH="$(pathmerge --path $UGLYPATH)
echo $CLEANPATH
# output
/a:/b:/c
基于不同的分隔符进行合并/去重
PATH="/a /b /c /c /c"
NEWPATH="$(pathmerge --delimiter ' ' /z)"
echo $NEWPATH
# output
/a /b /c /z
排序
PATH="/c:/a:/b"
NEWPATH="$(pathmerge --sort)"
echo $PATH
# output
/a:/b:/c
附加信息
- 指定
delimiter
不会改变输出中的分隔符,只会触发逻辑。 pathmerge
不会修改 shell 或环境中的任何内容,它只允许您操作格式化的 PATH 字符串并输出这些字符串。用户仍然需要将这些字符串推送到相应的环境变量中。例如,使用PATH=$(pathmerge)
从环境变量中读取,去重后推回PATH
变量。pathmerge
主要期望由.profiles
和.*rc
文件调用/使用。
NIX
进行中
依赖
~1.2–1.7MB
~33K SLoC