当我
从鱼壳内执行ls命令时,我不想看到.pyc文件。有了bash,我可以做一个别名。对于鱼,我尝试将以下内容放入~
/.config/fish/config.fishfunction ls
command ls --hide="*.pyc"
end
但它不起作用。我得到
ls: illegal option -- -
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
问题是你显然正在使用 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