中间有一个变量的鱼别名?

Ev-*_*Ev- 4 command-line alias fish

我有阅读障碍,所以我使用鱼作为我的 shell,因为它非常适合预测、校正和锯齿。我试图弄清楚如何创建一个别名,其中包含一个变量,后面跟着别名的其余部分。

\n\n

示例:\n现在我有 alias ppa="sudo add-apt-repository"。我可以输入ppa然后复制存储库的ppa:foo-bar/ppa然后得到sudo apt-add-repository ppa:foo-bar/ppa

\n\n

这很方便,所以如果接下来的部分太困难或根本不可能完成,不用担心。

\n\n

我想将此别名修改为ppa="sudo add-apt-repository"; upd (where upd is also aliased asupd="sudo apt update"`)。我有办法做到这一点吗?如果我说得不够清楚,以下是我在这种情况下想要对 cli 执行的操作:

\n\n

带变量的别名:
\n $ ppa [variable]

\n带变量的已解码别名:
\n$ sudo sudo add-apt-repository [variable] ; upd

\n\n

如上示例:\n带变量的别名:
\n $ ppa ppa:foo-bar/ppa

\n带变量的解码别名:
\n$ sudo sudo add-apt-repository ppa:foo-bar/ppa ; upd

\n\n

有没有办法做到这一点?再说一次,如果不是或者它的方式对于它的价值来说太复杂,没问题。

\n\n

多谢!我很感激!

\n\n

\xe3\x80\x9c 埃夫

\n\n

PS——如果有人希望我帮助他们为他们一直输入的命令创建自己的别名,并希望使用 Fish 来这样做,请随时询问。我很乐意提供帮助!

\n

gle*_*man 7

不,您不能使用 Fish 别名来执行此操作。但鱼的功能要好得多:

function upd
    sudo apt update
end
funcsave upd

function ppa
    sudo add-apt-repository $argv
    upd
end
funcsave ppa
Run Code Online (Sandbox Code Playgroud)

将其复制并粘贴到您的终端中,您应该可以开始了。

请记住

alias foo=bar
Run Code Online (Sandbox Code Playgroud)

只是一个捷径

function foo; bar $argv; end
Run Code Online (Sandbox Code Playgroud)