我有一个名为auth
的函数,我想要函数参数,但我不知道如何做到这一点。函数参数为username
和repo
。我试着用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
但它也不起作用。错误发生在我设置变量username
、string,
和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
来访问,这应该会在浏览器中打开一个本地副本。