端子提示

以下是一些提示,如何在航站楼上获得更多好处。

如何确定我使用的是哪种Shell?

运行以下命令::

$ echo $SHELL

矿山产量 /usr/bin/fish ,这是可执行文件的位置。这意味着我的电脑正在使用鱼壳。 neofetch (或类似的实用程序)也可以提供该信息。

大多数Shell程序都与POSIX兼容。

别名(POSIX)

符合POSIX的Shell包括 bashzsh ,和大多数贝壳。

别名允许您使用不同的名称调用函数。在本例中,它调用 pygmentize 用一个不同的名字。最简单的方法是创建一个名为 cath **

$ alias cath="pygmentize"

唯一的问题是 pygmentize 并不是真的像 cat 。它确实允许您使用类似于cat的命令来显示文件。

添加其他标志可以根据需要添加。Monokai样式适用于黑色背景,因此您可以这样添加该选项::

$ alias cath="pygmentize -O style=monokai"

这是一个版本 less 语法突出显示。它稍微复杂一些,因为它使用了环境变量 LESSOPEN 要对输入文件(S)进行预处理,请执行以下操作:

$ alias lessh='LESSOPEN="| pygmentize -O style=monokai %s" less -M -R '

当您打开新终端(或重新启动计算机)时,需要将这些别名命令添加到您的配置中才能工作。

将上述命令添加到您的配置文件中:

  • bash -编辑任一 ~/.bash_aliases (如果存在)或 ~/.bashrc 文件。

  • csh (CShell),编辑 ~/.cshrc 文件

  • ksh (Korn Shell),编辑 ~/.kshrc 文件。

  • tcsh ,编辑 ~/.tcshrc 文件。

  • zsh ,编辑 ~/.zshrc 文件。

要将更改应用于当前的Shell环境系统:运行 source 在刚刚编辑的文件名上::

$ source [~/.filenamerc]

别名(鱼壳)

上面的POSIX别名可以很好地工作,但将别名永久保存在Fish Shell中则略有不同。函数用于创建永久别名。 funced [command] 用于创建函数,然后是 funcsave [command] 将函数保存到环境中。

运行 funced cath ,调出默认编辑器,并在函数中添加以下代码:

function cath
        # 'cath' alias will highlight source code as cat does.
        alias cath="pygmentize"
end

这是什么? cath 函数看起来像有一个额外的参数::

function cath
        alias cath="pygmentize -O style=monokai"
end

注意:这就像您可能运行的POSIXShell alias cath="pygmentize -O style=monokai" 在命令行上预先测试别名。

测试 cath 功能。要保存函数运行 funcsave cath 。这将为以后的会话保存该函数。

funced lessh ,它稍微复杂一些,因为它使用了环境变量 LESSOPEN 要对输入文件(S)进行预处理,请执行以下操作:

function lessh
        LESSOPEN="| pygmentize -O style=native %s" less -M -R $argv
end

测试 lessh 功能。要保存函数运行 funcsave lessh