Bash 函数遗忘

Bash 函数遗忘

你们中的许多人可能已经注意到,我对 Linux 还很陌生。我特别提到的是在我的 .bashrc 文件中添加个人、用户生成的函数和别名。我不太清楚 bash 是如何工作的,但根据许多帖子,我“将其添加到我的 .bashrc 文件的末尾”。当通过终端执行命令时,这不起作用。

答案1

对于登录 shell,.profile将在您的主目录中执行。因此,如果您在 中定义了函数.bashrc,请确保该文件包含在.profile以下文件中:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

您也可以发出以下命令:

source ~/.bashrc

然后调用你的函数。这将确保包含任何文件都没有问题。

答案2

每当您打开一个新终端时,.bashrc 中的所有命令都会被执行(该文件是“来源”)。如果您向 .bashrc 添加新命令,则需要打开一个新终端或发出以下命令之一:

. ~/.bashrc
source ~/.bashrc

例如,你可以在 .bashrc 的末尾添加一个新行(每个命令都必须在新的一行上 - 嗯,这实际上是一种简化,但是对于初学者来说已经足够了),如下所示:

alias hello='echo "Hello, $USER"'

...然后,一旦您打开了一个新的、全新的终端窗口或者使用了其中一个源命令,您就应该能够输入hello并收到来自您的机器的问候。

如果您执行了所有这些操作,但函数/别名不起作用,则您使用的特定函数或别名可能有问题。如果您怀疑是这种情况,请随时提出单独的问题。

至于教程,我发现在我开始使用 bash 时非常清楚且有用的一个是linux命令

相关内容