如何在 fish shell 中创建别名
How to create a alias in fish shell
我尝试为 ls 创建一个别名(基本上应该映射到 ls -lah
)
我尝试了以下代码,但它不起作用:
function ls
ls -lah
end
funcsave ls
但是当我调用它时,我收到这条消息:
The function 'ls' calls itself immediately, which would result in an infinite loop.
in function 'ls'
called on standard input
您需要 command
关键字。此外,将函数的参数传递给 ls
function ls
command ls -lah $argv
end
您要查找的是 command
命令。
我还建议将任何参数(存储在 $argv
中)传递给别名命令。
所以你的例子应该是:
function ls
command ls -lah $argv
end
要使用一个简单的命令完成所有这些操作,您只需使用 alias
命令即可。
alias ls "command ls -lah"
请注意,通常别名不会为您提供有助于 _fish_ 友好性的自动完成建议。这种特定情况是一个例外,因为函数和原始命令具有相同的方式,但除此之外,这里有两种方法可以完成:
如果你需要为ls
做别名,那么以上答案都可以。
但是,fish 已经有了 ls -lah
的命令,即 la
.
我尝试为 ls 创建一个别名(基本上应该映射到 ls -lah
)
我尝试了以下代码,但它不起作用:
function ls
ls -lah
end
funcsave ls
但是当我调用它时,我收到这条消息:
The function 'ls' calls itself immediately, which would result in an infinite loop. in function 'ls' called on standard input
您需要 command
关键字。此外,将函数的参数传递给 ls
function ls
command ls -lah $argv
end
您要查找的是 command
命令。
我还建议将任何参数(存储在 $argv
中)传递给别名命令。
所以你的例子应该是:
function ls
command ls -lah $argv
end
要使用一个简单的命令完成所有这些操作,您只需使用 alias
命令即可。
alias ls "command ls -lah"
请注意,通常别名不会为您提供有助于 _fish_ 友好性的自动完成建议。这种特定情况是一个例外,因为函数和原始命令具有相同的方式,但除此之外,这里有两种方法可以完成:
如果你需要为ls
做别名,那么以上答案都可以。
但是,fish 已经有了 ls -lah
的命令,即 la
.