bash 函数作为 .bashrc 中的别名的正确语法

Correct syntax for bash function as alias in .bashrc

我刚刚在 bash 脚本 tutorial 中阅读了以下说明:

Let's try one. Open .bashrc with your text editor again and replace the alias for "today" with the following:

today() {
    echo -n "Today's date is: "
    date +"%A, %B %-d, %Y"
}

我应该替换的行是 'date +"%A, %B %-d, %Y"'

完整行是:

alias today='date +"%A, %B %-d, %Y"'

但是,尝试了以下方法:

alias today='today() { 
                echo -n "Today's date is: "
                date +"%A, %B %-d, %Y"
             }'

第 2 行有和没有撇号(在 "Today's" 中),和 w/wo 封闭的单引号,作为一个衬里,并使用 function 关键字结合列出的所有其他选项。我还尝试在 alias 语句上方定义函数,然后简单地使用 'today()'(w/wo quotes) 作为别名值,作为一个长镜头。以上的 None 有效。

使用此函数作为别名的正确语法是什么?

您可以单独拥有它:

_today() { echo -n "Today's date is: "; date +"%A, %B %-d, %Y"; }
alias today='_today'

该代码段并未告诉您对 alias 执行任何操作,而是将其删除。

它试图让您用函数替换别名,因为函数通常比别名更有用。