为函数添加了函数参数



我有一个名为auth的函数,我想要函数参数,但我不知道如何做到这一点。函数参数为usernamerepo。我试着用bash风格来做,但没用,网上搜索也没什么帮助。这就是我目前拥有的。

function auth 
username = $1
repo = $2
string = "git@github.com:${username}/${repo}"
git remote set-url $string
end

我也试过

function auth 
$username = $1
$repo = $2
$string = "git@github.com:$username/$repo"
git remote set-url {$string}
end

但它也不起作用。错误发生在我设置变量usernamestring,repo的位置

~/.config/fish/functions/auth.fish (line 2): The expanded command was empty.
$username = $1
^
in function 'auth' with arguments '1 2'
~/.config/fish/functions/auth.fish (line 3): The expanded command was empty.
$repo = $2
^
in function 'auth' with arguments '1 2'
~/.config/fish/functions/auth.fish (line 5): The expanded command was empty.
$string = "git@github.com:$username/$repo"
^

Fish将其参数存储在一个名为"的列表中$argv";,所以你想用它。

此外,$var = value在fish和bash中都是错误的语法。在bash中是

var=value

(没有$并且没有=周围的空间(。

在鱼身上是

set var value

(也没有$(。

所以你想要的是

function auth 
set username $argv[1]
set repo $argv[2]
set string "git@github.com:$username/$repo"
git remote set-url $string
end

但实际上,您需要阅读文档,特别是关于$argv的部分和教程。这也应该可以通过在fish中运行help来访问,这应该会在浏览器中打开一个本地副本。

相关内容

  • 没有找到相关文章

最新更新