.bashrc:未找到命令

.bashrc:未找到命令

我正在尝试编辑我的.bashrc配置,但是当我尝试使用以下命令访问配置时:

电脑:〜家$.bashrc

我收到一个:-bash: /.bashrc: No such file or directory错误。

为什么.bashrc 不起作用?

(OSX 10.10)

答案1

简短回答:它不起作用,因为.bashrc您正在尝试执行一个名为的命令.bashrc,该命令必须存在于您的某个地方$PATH并且必须是可执行的。

如何编辑:
如果你想编辑它,你应该写类似

nano ~/.bashrc

vim ~/.bashrcemacs ./bashrc或任何其他您喜欢的文本编辑器;所有更改将在您下次打开交互式(非登录)shell 时生效。

多说几句

  • 它必须存在在您的$PATH和中,不一定在当前目录中,因为您使用的是commandname和而不是./commandname。出于安全原因,当前目录通常不包含在路径中。

  • 它必须是可执行的因为即使您的某个目录中存在同名文件$PATH,如果它不可执行,它也不会运行。

  • 此文件 ( ~/.bashrc) 通常由 shell 在交互时使用bash。它通常存储在您的主目录中(您可以在 中找到它 ~/.bashrc),并决定您的交互式 shell 的行为。

    man bash

    当启动非登录 shell 的交互式 shell 时,如果该文件存在,bash 将从 ~/.bashrc 读取并执行命令。

  • . ~/.bashrc你一起来源文件就像你逐行写一样在壳中。
    警告这意味着您将再次运行里面的所有命令。它不会忘记,例如,alias文件前一个版本中拼写错误的旧内容...
    为了清楚地理解引入的行为,最好启动一个

更多讲座:

答案2

.bashrc:未找到命令

您正在寻找的命令是

source ~/.bashrc

或者

. ~/.bashrc

笔记:

  • 由于您似乎已经在主目录中,因此您可以省略~/上述命令。

. (源或点运算符)

在当前 shell 上下文中从 filename 参数读取并执行命令。

句法

. filename [arguments]

source filename [arguments]

使用 source 运行脚本时,它会在现有 shell 中运行,脚本创建或修改的任何变量在脚本完成后仍可用。相反,如果脚本仅作为 filename 运行,则会生成一个单独的子 shell(具有一组完全独立的变量)来运行脚本。

通过运行 .ss64script(点 ss64script)和 . ss64script(点空格 ss64script)来执行脚本之间存在细微的差别,第一个是运行被“ls”命令隐藏的文件,(尽管 ls -a 将显示隐藏文件)第二个选项将执行 ss64script,即使它没有被用 chmod 设置为可执行文件。


进一步阅读

相关内容