`
香克斯
  • 浏览: 57830 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

fish shell的环境变量设置和自定义function

阅读更多

一. 环境变量设置

大家知道bash的配置,一般都在个人目录下的.bash_profile文件里面.fish也有自己的配置文件,跟其他的shell一样,fish的配置文件主要放在这几个地方:

①/usr/share/fish/config.fish (Or /usr/local/fish... 如果你把fish安装在 /usr/local),

②/etc/fish/config.fish (Or ~/etc/fish/... 如果你把fish安装在你个人的主目录下) 

③~/.config/fish/config.fish

一般情况下,我们选择③这个地方来设置我们个人的配置文件.

fish的环境变量设置的语法与一般的shell不太一样,fish使用下面的格式进行设置

set BROWSER "open"

set PATH $PYTHON_HOME/bin $DEV_HOME/apache/bin $PATH /usr/local/bin

直接使用 set 变量名 变量值1 变量值2 这样的格式进行设置.注意变量和变量之间以空格分开.

BROWSER变量要进行一下说明,这是指定你的浏览器的,因为fish的help信息是通过浏览器来显示的,所以这个是fish的特有变量,与其他的shell不一样.

另外的变量名之类的都与其他的shell一样.只是fish设置的语法更接近雨自然语言,更容易接受

 

二.自定义function

这个也是fish的一个亮点,它允许用户自定义一些function,按照fish的指定格式存放到指定的地点,那么这些function将能够像fish的内部命令一样进行调用(事实上fish的内部命令也是使用这种方式来定义的,可以查看/usr/local/share/fish/functions下面的.fish文件).

这些自定义的函数默认会存放在:~/.config/fish/functions 文件夹下面.命名方式是: 你的function名.fish,然后这个.fish文件的内容如下(~/.config/fish/functions/ls.fish):

function ls
        ls -G $argv
end
这个$argv是fish的变量,它会获取你调用这个function时输入的参数.这个示例的function是在mac(unix系的应该也行,没实验过)下的ls命令之后(调用自定义function,默认在原来的ls命令后面自动加上-G参数)文件夹和文件使用不同颜色显示(linux默认的ls应该就有这个功能,所以不需要设置).

我们设置自定义function有两种方式:

①一种是直接到文件夹下面建立文件,然后将function内容写上,保存退出.

②另一种是在命令行终端先输出

function ls
        ls -G $argv
end

然后紧接着执行

funcsave ls

这样fish将在前面提到的functions文件夹下面建立包含有function内容ls.fish文件.

 

 

1
1
分享到:
评论

相关推荐

    linux-Fishshell框架

    此外,Fishshell 的内存管理机制也优化了对大型环境变量和历史记录的处理,进一步提高了响应速度。 其次,Fishshell 提供了丰富的自动补全功能。它可以根据已输入的部分命令或文件名,实时提供补全建议,极大地提高...

    python阮一峰-阮一峰:Fishshell入门教程.pdf

    许多其他Shell需要额外配置的功能,Fish Shell已经内置并默认启用,无需用户进行繁琐的设置。对于那些想要一个高效且无需大量学习成本的Shell的人来说,Fish Shell是一个理想的选择。 安装Fish Shell在不同的操作...

    fish-2.1.2

    虽然不如Zsh那样有海量的社区插件,Fish Shell仍然允许用户自定义功能和外观。一些插件可以增强Fish的功能,比如fisher,它是一个包管理器,可以方便地安装和更新Fish的插件。 **6. 强大的脚本能力** 尽管Fish的...

    linux-为Zsh提供类似于Fishshell的语法高亮

    在Linux世界中,Zsh(Z Shell)是一种强大的命令行解释器,它是Bash的替代品,提供了许多增强的功能和自定义选项。 Fish shell则以其用户友好的特性,如自动补全、命令提示和语法高亮,受到很多用户的喜爱。然而,...

    tacklebox, 组织和共享 fish shell 函数的框架.zip

    tacklebox, 组织和共享 fish shell 函数的框架 Tacklebox问题组织和共享 shell 代码库和Fragment是很困难的。解决方案Tacklebox是 Fish shell 框架,它使得组织和共享有用的shell 功能。工具和主题集合变得很容易。...

    linux-fisherman是fish的插件管理器

    5. 自定义配置:fisherman支持用户自定义插件加载顺序和个性化设置,通过`.config/fish/config.fish`文件可以实现这一点。 在实际使用中,fisherman的安装和使用非常简单。用户只需将`fisherman`添加到fish的初始化...

    linux-fishshell相关的工具提示和其它很酷的东西集合

    fish-shell相关的工具、提示和其它很酷的东西集合

    fish-shell-setup-osx:教程:Fish,Fisher,Powerline字体+ iTerm2

    在本教程中,我们将深入探讨如何在MacOS操作系统上配置Fish Shell,同时利用Fisher进行扩展,安装Powerline字体以支持美观的提示符,并设置iTerm2以获得更高效的终端体验。Fish Shell是一款用户友好的命令行接口,以...

    zsh-history-to-fish:将您的ZSH历史记录带到Fish shell

    将您的ZSH历史记录带到Fish shell 这是一个简单的工具,可简化从ZSH到Fish shell的迁移,而不会丢失您来之不易的历史命令。 在迁移自己的过程中,我发现没有工具可以自动执行此操作,因此我制作了一个供自己使用的...

    百度文档fish3.2.6

    6. **配置文件**:Fish的主配置文件是`~/.config/fish/config.fish`,用户可以在这里设置环境变量、定义别名和函数,以定制个人的工作环境。 7. **版本3.2.6的改进**:在这个版本中,开发团队可能修复了一些已知的...

    nvm-fish-wrapper, fish shell的NVM包装未被维护.zip

    nvm-fish-wrapper, fish shell的NVM包装未被维护 NVM 一个为 someone的头已经为bash工具创建了一个通用的fish包装器,这可能会比这更好。 这叫 bass,这是我想做的项目,但正确的。 我想这就是nvm-fish-wrapper的...

    iterm-fish-fisher-osx:完整的指南和Bash脚本,用于安装命令行工具+自制软件+ iTerm2 + Fish Shell + Fisher +插件用于开发目的

    本文将详细介绍标题和描述中提到的"iterm-fish-fisher-osx"项目,这是一个专为MacOS(以前称为OSX)用户设计的全面指南和Bash脚本,旨在帮助用户快速安装和配置一系列命令行工具、自制软件、iTerm2、Fish Shell、...

    shell-configs:我的自定义外壳程序配置

    自定义Bash配置可以包括别名设置、环境变量定义、函数创建等。例如,你可以设置一个别名`lsa='ls -lah'`,使得每次输入`lsa`就相当于执行`ls -lah`命令,显示文件的详细信息。 2. **Zsh Shell配置** Zsh是一个功能...

    fish in flac3d

    #### 2.2 FISH Language Rules, Variables and Functions:FISH语言规则、变量和函数 ##### 2.2.1 Lines:行 FISH语言中的每条命令或表达式通常都占据一行。一行可以包含一个或多个语句,语句之间用分号隔开。 ##...

    dotfiles:Arch Linux,Fish shell,Git和Neovim的实验性,正在进行的配置文件和脚本

    - `.bashrc` 或 `.fish_config`:这些是shell的初始化脚本,定义了用户的环境变量、别名和函数。 - `.vimrc` 或 `.config/nvim/init.vim`:这是Neovim的配置文件,用来定制编辑器的行为,如键绑定、颜色方案和插件...

    Atom-dotfiles,外壳设置,尝试不可知外壳,支持bash,fish和zsh。.zip

    bash(Bourne-Again SHell)是最常见的外壳,而fish(Friendly Interactive SHell)和zsh(Z Shell)则提供了更多的功能和自定义选项。这些外壳可以通过设置文件来调整其行为,例如定义别名、设定环境变量、创建函数...

    awsm.fish:为Fish设计的提示,插件和资源。 :spiral_shell:

    `awsm.fish` 是一个专门为 Fish Shell(一种友好的交互式命令行接口)设计的提示系统、插件集合和资源库。它旨在通过提供丰富的功能和自定义选项来提升用户在终端中的体验。下面我们将深入探讨 `awsm.fish` 的核心...

    spacefish-源码.rar

    3. **扩展机制**:Spacefish 源码展示了Fish Shell如何通过插件系统和自定义脚本来增强其功能。开发者可以创建自己的命令、别名和函数,以定制化终端的交互方式。 4. **自动完成**:Spacefish 提供了更强大的自动...

    颗粒流PFC2DFISH语言

    PFC2DFISH语言的基本语法包括变量声明、数据类型、运算符、控制流语句和函数等。 1.变量声明:在PFC2DFISH语言中,可以使用`def`关键字来声明变量,例如`def x = 1`。 2.数据类型:PFC2DFISH语言支持多种数据类型,...

    conf:vim,fish等的配置文件

    首先,vim编辑器是一款强大的文本编辑工具,它允许用户通过自定义配置文件.vimrc来定制其操作习惯和环境。这个文件通常位于用户的家目录下,例如`~/.vimrc`。在.vimrc中,你可以定义各种快捷键映射、颜色方案、自动...

Global site tag (gtag.js) - Google Analytics