簡體   English   中英

魚殼:將參數附加到現有函數

[英]Fish shell: append argument to an existing function

我想在ls命令中添加--group-directories-first 如果在~/.config/fish/config.fish我可以定義一個像這樣的別名:

alias ls "ls --group-directories-first"

但它覆蓋了fish shell的ls函數定義:

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

我可以重新定義ls函數以添加所需的參數:

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

但是我不喜歡這個解決方案:我想要的是重新定義ls以便用參數調用前面的ls函數。 有辦法實現嗎?

你可以 重命名 copy fish的ls函數:

functions --copy ls __fish_ls

然后在你的函數中使用它:

alias ls '__fish_ls --group-directories-first'

abbr ls“ls --group-directories-first”

??

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM