当前位置: 首页 > 工具软件 > Fish Shell > 使用案例 >

linux中fish脚本,linux - 如何在fish shell中定义别名?

薛俊美
2023-12-01

linux - 如何在fish shell中定义别名?

我想在鱼中定义一些别名。 显然应该可以在中定义它们

~/.config/fish/functions

但是当我重新启动shell时,它们不会自动加载。 有任何想法吗?

armandino asked 2019-05-20T10:03:22Z

9个解决方案

254 votes

只需使用~/.config/fish/functions/rmi.fish.这是一个基本的例子:

# Define alias in shell

alias rmi "rm -i"

# Define alias in config file

alias rmi="rm -i"

# This is equivalent to entering the following function:

function rmi

rm -i $argv

end

# Then, to save it across terminal sessions:

funcsave rmi

最后一个命令创建文件~/.config/fish/functions/rmi.fish。

有兴趣的人可能想在官方手册中找到更多关于鱼类别名的信息。

Bozhidar Batsov answered 2019-05-20T10:03:49Z

107 votes

这就是我定义新函数foo,运行它并持久保存的方法。

sthorne@pearl~> function foo

echo 'foo was here'

end

sthorne@pearl~> foo

foo was here

sthorne@pearl~> funcsave foo

Jerub answered 2019-05-20T10:04:13Z

44 votes

对于后代,鱼别名只是功能:

$ alias foo="echo bar"

$ type foo

foo is a function with definition

function foo

echo bar $argv;

end

要删除它

$ unalias foo

/usr/bin/unalias: line 2: unalias: foo: not found

$ functions -e foo

$ type foo

type: Could not find “foo”

glenn jackman answered 2019-05-20T10:04:44Z

14 votes

如果〜/ .config / fish /中没有config.fish,那就搞定吧。

在那里你可以写你的功能.function name command end

seaslee answered 2019-05-20T10:05:14Z

13 votes

将文件保存为~/.config/fish/functions/{some_function_name}.fish,它们应该在您开始钓鱼时自动加载。

martisj answered 2019-05-20T10:05:39Z

9 votes

从〜/ .config / fish / functions正确加载函数

您可以在文件和名称文件中仅设置一个函数与函数名称+添加.fish扩展名相同。

这样改变打开的终端中的文件内容重载功能(注意可能会发生一些延迟~1-5s)

这样,如果您通过命令行编辑

function name; function_content; end

然后

funcsave name

您在控制台中具有用户定义的功能,并以相同的顺序定制。

pawelkl answered 2019-05-20T10:06:33Z

6 votes

fish通过执行〜/ .config / fish / config.fish中的命令开始。如果它不存在,您可以创建它。

步骤1。 制作配置文件(如.bashrc)

config.fish

第2步。 只需写下你的别名;

别名rm =“rm -i”

CookAtRice answered 2019-05-20T10:07:26Z

1 votes

在〜/ .config / fish /函数中创建一个名为mkalias.fish的函数并将其放入

function mkalias --argument key value

echo alias $key=$value

alias $key=$value

funcsave $key

end

这将自动创建别名。

Mike answered 2019-05-20T10:07:59Z

0 votes

打开vim .config/fish/conf.d/omf.fish,绑定你的bash定义并重启fish终端。

selmansamet answered 2019-05-20T10:08:25Z

 类似资料: