我有:
PATH=/bar:/foo
Run Code Online (Sandbox Code Playgroud)
我想要:
PATH=/foo:/bar
Run Code Online (Sandbox Code Playgroud)
我不想要:
PATH=/foo:/bar:foo
Run Code Online (Sandbox Code Playgroud)
所以我在想,鉴于默认路径是PATH=/bar,我可以修改$path(这是$PATH一个关联数组):
function prepend_to_path() {
unset $path[(r)$1]
path=($1 $path)
}
prepend_to_path /foo
Run Code Online (Sandbox Code Playgroud)
但是抱怨:
prepend_to_path:unset:1: not enough arguments
Run Code Online (Sandbox Code Playgroud)
已经很久了,我甚至不记得是什么(r),但没有它(unset $path[$1])我得到:
prepend_to_path:1: bad math expression: operand expected at `/home/nerd...'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
您可以使用以下命令替换函数体:
path=($1 ${(@)path:#$1})
Run Code Online (Sandbox Code Playgroud)
相关回答:https://stackoverflow.com/a/3435429/1107999
| 归档时间: |
|
| 查看次数: |
1489 次 |
| 最近记录: |