`
香克斯
  • 浏览: 57285 次
  • 性别: 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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics