我的主目录中没有 .bashrc 文件

我的主目录中没有 .bashrc 文件

以下是我从讲座中记下的内容:

  • .bashrc在您的主目录中查找文件
  • vi .bashrc
  • 当您将应用程序文件夹放在某处时,请确保其地址在路径变量中。

问题是我的主目录中没有文件.bashrc。我的家中只有一个.bash_history文件。

如果我转到根目录,etc/bash.bashrc那里有一个文件,但我认为它会为所有用户做出更改,而不仅仅是为我。我想为自己添加此路径。它不应该影响其他人。此外,$PATH该 bashrc 文件中没有变量,所以我更加困惑。

答案1

不要忘记它是您主目录中的隐藏文件(您不会是第一个这样做ls -l并认为它不在那里的人)。

执行以下操作...

ls -la ~/ | more

.bashrc第一页应该有一个。如果没有,只需使用

vi ~/.bashrc

并简单地在其中写入以下行。

PATH=$PATH:~/bin

或者 大多数发行版都保留一个标准.bashrc文件,/etc/skel/您可以将其复制到主目录中。

$cp /etc/skel/.bashrc ~

答案2

大多数发行版都保留一个标准.bashrc文件,/etc/skel/您可以将其复制到主目录中。否则,您可以.bashrc在主目录中创建一个新的空文件。

答案3

为交互式 Shell 创建自己的启动文件

关于 Bash 启动文件

从 INVOCATION 部分可以man 1 bash看出:

当启动非登录 shell 的交互式 shell 时,bash 会从 /etc/bash.bashrc 和 ~/.bashrc 读取并执行命令(如果这些文件存在)。

请注意,这些启动文件是选修的;Bash 不需要它们。Bash 还区分登录 shell 和交互式 shell。交互式 shell 定义如下:

交互式 shell 是启动时不使用非选项参数且不使用 -c 选项的 shell,其标准输入和错误均连接到终端(由 isatty(3) 确定),或者使用 -i 选项启动的 shell。

许多发行版都从另一种启动文件中获取一种启动文件,但有些则不然,因此这个问题很难规范地解决。您需要检查所有启动文件,以查看您的~/.bashrc意志在何时以及如何被调用你的系统。

创建每个用户的交互式 Shell 启动文件

如果您只是缺少一个用户特定的~/.bashrc文件,只需创建一个。Bash 将为非登录 shell(例如,不使用标志启动的 shell --login)调用此文件,或者每当您通过使用标志调用 shell 来强制 shell 进行交互时,都会调用此-i文件。

答案4

简短的答案:

  1. find ~ -maxdepth 1 -name '.bashrc'
  2. vi ~/.bashrc
  3. echo $PATH | grep ~/MyNewCoolProgramFolder

详细一:
我采取更贴近字面意义的解释。

  1. “在你的主目录中找到文件 .bashrc”
    由于存在命令find,也许背信弃义的编辑建议您使用它:

    find ~ -maxdepth 1 -name '.bashrc'
    

    在主目录中搜索~,仅下降一级(无子目录-maxdepth 1)。对于所有选项,请写入man find
    下面的行将完成最少的工作

    ls ~/.bashrc   
    

    笔记:万一~/.bashrc不存在你可以创建它用一个简单的echo >> ~/.bashrc

    如果不存在,则会>>创建文件。如果~/.bashrc存在,则会仅附加无害的空输出echo,避免无意中删除如此重要的文件,如果不备份,则很难恢复。

    (以下内容是因为我很少需要尊重我的昵称的含义,如果您有疑问,请不要执行)。

    if [ ! -f ~/.bashrc ] ; 
      then
         cp -i /etc/skel/.bashrc ~/.bashrc ;
      else ls -la ~/.bashrc; 
    fi || echo " # Auto Generated " >> ~/.bashrc
    
  2. “做vi .bashrc
    现在您可以做了vi ~/.bashrc,这里的陷阱是您需要按下:q退出!

  3. 应用程序文件夹和$PATH
    当您创建应用程序文件夹时,例如~/MyNewCoolProgramFolder,下面一行将仅检查它是否在$PATH

    echo $PATH | grep ~/MyNewCoolProgramFolder
    

    如果已经存在则无需添加。如果需要,你可以添加$PATH

    PATH=$PATH:~/MyNewCoolProgramFolder
    

    ~/.bashrc如果您想使其永久存在,请添加该行。

  4. “4?!如果只有 3 分,怎么会是 4?”- 解决方法。
    对于后者有一些解决方法;假设名为的可执行文件CoolDetraveller仅存在于新的应用程序文件夹中:

    (a)您可以尝试执行它。如果它不在中,它将无法启动$PATH

    CoolDetraveller:未找到命令

    (b)你可以尝试自动完成。开始书写CoolDetravelle并按Tab。如果在 中,$PATH它将自动完成(如果启用了自动完成,则始终自动完成)。

    which(c)如果您编写命令,您可以询问将使用什么 bash shell命令CoolDetraveller

        which CoolDetraveller
    

    笔记: 如果你的应用程序路径中有一个或多个空格,which则可能无法找到CoolDetraveller,尽管(这里我再次尊重我的昵称)自动完成作为 命令CoolDetraveller的有效参数which将会起作用!

    令人厌烦:你不能问,whereis CoolDetraveller因为whereis

    具有硬编码路径,因此可能无法始终找到所需内容

相关内容