我想在脚本中创建一个别名,用于使用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时出错了。
发布于 2017-06-15 17:53:03
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发布于 2017-06-16 11:38:07
Fish数组从索引1开始,所以您的$argv[0]在这里是错误的。使用$argv[1]代替它,使用$argv[2]代替当前的$argv[1]。
但是,目前除1之外的任何元素都将导致数组索引超出界限的错误,如果您试图访问它,并且没有设置它,那么您需要检查它是否使用set -q argv[2]。
# PR
function pr --description 'hub pr'
set -l message
if set -q argv[2]
set message -m $argv[2]
end
hub pull-request -b $argv[1] $message;
end(此外,https://github.com/fish-shell/fish-shell/issues/826还讨论了删除索引超出范围的错误)
发布于 2017-06-19 07:23:09
还有一种方法可以结合使用test方法和count来检查输入。下面是一个检查大于(gt) 1的示例。
if test (count $argv) -gt 1;
set r_args $argv[2..-1];https://stackoverflow.com/questions/44558668
复制相似问题