当我从fish shell中执行ls命令时,我不想看到.pyc文件。用bash我可以做别名。有了鱼,我尝试将以下内容放入〜/ .config / fish / config.fish
function ls
command ls --hide="*.pyc"
end
但它不起作用。我得到了
ls: illegal option -- -
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
答案 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