我想在脚本中创建一个别名,用于使用pull-requests
创建hub
。
我打算创建这样的功能。
# PR
function pr --description 'hub pr'
hub pull-request -b $argv[0] -m $argv[1];
end
-m
部分可以是可选的。
所以我可以这样pr 'branch here' 'message here'
但我收到错误Array index out of bounds
。
答案 0 :(得分:6)
function pr -d 'git pull-request' -a branch message
set -q message[1]
and set message -m $message
hub pull-request -b $branch $message
end
答案 1 :(得分:2)
Fish数组从索引1开始,因此您的$argv[0]
错误。使用$argv[1]
代替,$argv[2]
代替您目前拥有的$argv[1]
。
但是,当前除1之外的任何元素都会导致数组索引越界错误,如果您尝试访问它并且它没有设置,那么您需要检查它是否与{{{ 1}}。
set -q argv[2]
(另外,https://github.com/fish-shell/fish-shell/issues/826讨论了删除索引越界错误)
答案 2 :(得分:1)
知道了。但在这种情况下,-m
不是可选的。
# PR
function pr --description 'git pr' --argument-names message branch
hub pull-request -m $message -b $branch;
end
然后您可以输入pr 'message' 'branch'
答案 3 :(得分:1)
还有另一种方法可以使用test
方法结合count
来检查输入。以下是检查大于(gt
)1的示例。
if test (count $argv) -gt 1;
set r_args $argv[2..-1];