如何隐藏鱼壳中具有特定扩展名的文件?

时间:2016-05-22 01:11:19

标签: bash shell fish

当我从fish shell中执行ls命令时,我不想看到.pyc文件。用bash我可以做别名。有了鱼,我尝试将以下内容放入〜/ .config / fish / config.fish

function ls
  command ls --hide="*.pyc"
end

但它不起作用。我得到了

ls: illegal option -- -
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]

1 个答案:

答案 0 :(得分:2)

问题在于您显然正在使用BSD ls命令。在Mac OS X上,我得到相同的错误,因为/ bin / ls没有识别任何长选项。在OS X上执行brew install coreutils以获取支持--hide的GNU ls。

此外,您可能希望函数体是

command ls --hide="*.pyc" $argv

您还可以根据输出是否输入tty等方式使您的功能表现不同。这是我的职责:

function ls --description 'List contents of directory'
    set -l param --color=auto
    if isatty 1
        set param $param --indicator-style=classify
    end
    command ls $param $argv
end