簡體   English   中英

如何在魚殼中導出功能

[英]How to export a function in fish shell

我正在將某些腳本從bash移植到fish shell,但無法訪問我的實用程序功能。

巴什

這是我在bash中的操作方法,首先在"$HOME/.my-posixrc"聲明我的方法:

function configure_date_utilities() {
    function today() {
        to-lower "$(date '+%Y-%b-%d')"
    }
    function today-num() {
        to-lower "$(date '+%Y-%m-%d')"
    }
    function now() {
        to-lower "$(date '+%Y-%b-%d-%H:%M')"
    }
}

然后獲取此文件:

source "$HOME/.my-posixrc"

所以我可以做:

$ today

2015-DEC-13

function configure_date_utilities
    function today
        to-lower (date '+%Y-%b-%d')
    end
    function today-num
        to-lower (date '+%Y-%m-%d')
    end
    function now
        to-lower (date '+%Y-%b-%d-%H:%M')
    end
end

然后在~/.config/fish/config.fish該文件:

source "$HOME/.my-posixrc"

但是找不到方法

$ today

當前未安裝“今天”程序。 您可以通過鍵入以下命令進行安裝:sudo apt-get install mhc-utils

如何“導出”函數,以便可以在提示符下訪問它們?

PS:我的dotfiles在github上可用

刪除外部函數或在文件中調用它。

在fish中,所有函數都是全局的,但是不會定義您的內部函數,因為它們的定義永遠不會運行。

所以:

function configure_date_utilities
    function today
        to-lower (date '+%Y-%b-%d')
    end
    function today-num
        to-lower (date '+%Y-%m-%d')
    end
    function now
        to-lower (date '+%Y-%b-%d-%H:%M')
    end
end
configure_date_utilities

要么

function today
    to-lower (date '+%Y-%b-%d')
end
function today-num
    to-lower (date '+%Y-%m-%d')
end
function now
    to-lower (date '+%Y-%b-%d-%H:%M')
end

暫無
暫無

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

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