如何隐藏鱼shell中带有特定扩展名的文件?
How to hide files with certain extensions in the fish shell?
我不想在鱼 shell 中执行 ls 命令时看到 .pyc 文件。使用 bash 我可以做一个别名。对于鱼,我尝试将以下内容放入 ~/.config/fish/config.fish
function 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
我不想在鱼 shell 中执行 ls 命令时看到 .pyc 文件。使用 bash 我可以做一个别名。对于鱼,我尝试将以下内容放入 ~/.config/fish/config.fish
function 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
.
此外,您可能希望函数体是
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