iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux用户source .bashrc或.profile找不到文件的解决
  • 404
分享到

linux用户source .bashrc或.profile找不到文件的解决

摘要

目录linux用户source .bashrc或.profile找不到文件Linux .bashrc .bash_profile 和 .profile之间的区别1 概述2 交互式和非交互式shell3 bash启动文件4

目录
  • linux用户source .bashrc或.profile找不到文件
  • Linux .bashrc .bash_profile 和 .profile之间的区别
    • 1 概述
    • 2 交互式和非交互式shell
    • 3 bash启动文件
    • 4 区别
  • 总结

    linux用户source .bashrc或.profile找不到文件

    之前在Debian遇到这种情况,新增加的用户,每次登入的路径都显示sh-42$必须su - 用户名才能恢复正常,并且用户目录下的.bashrc和其他的配置文件都没有办法source,导致一系列问题。

    如果是这种情况,极有可能是linux的默认启动shell不正确,su切换成超级用户,vi /etc/passwd查看用户相应的启动shell,对比其他正常的用户的启动shell,如果不一样则修改成相同即可。。

    例如其他正常用户的shell为/bin/bash ,异常用户对应的shell是/bin/sh,则将其改为/bin/bash。

    Linux .bashrc .bash_profile 和 .profile之间的区别

    1 概述

    bash shell使用一些启动文件去设置环境变量,这些启动文件为shell本身和系统用户确定某些bash shell配置,在本文中,我们将了解.bashrc .bash-profile 和 .profile之间的区别。

    2 交互式和非交互式shell

    • Bash在交互式shell中提供了两种模式选项,登录和非登录 (login and non-login)。
    • 当我们使用ssh登录到系统时,我们得到一个交互式登录的shell (interactive login shell),这个shell在被调用时会读取启动文件。
    • 然而,当我们在一个已经登录的shell上调用一个新的shell时,我们得到的是一个交互式的、非登录的shell。这个shell只执行.bashrc文件

    当shell不需要任何人类干预即可执行命令时,我们将其称为非交互式shell (non-interactive shell)。例如,当脚本生成子shell来执行命令时,子shell是非交互式shell,子shell不会执行任何启动文件,它从创建它的shell中继承了环境变量。

    3 bash启动文件

    启动文件包含shell启动时需要执行的命令。因此,shell会自动执行这些启动文件中的命令来设置shell。这个过程发生在显示命令提示符之前。

    3.1 .bash_profile 的意义

    .bash_profile文件包含用于设置环境变量的命令,因此shell将继承这些变量。

    在交互式登录shell中,bash首先查找 /etc/profile 文件。如果找到,bash将在当前shell中读取并执行它。结果是 /etc/profile为所有用户设置环境配置

    类似地,bash然后检查主目录(cd ~ 进入的目录为主目录)中是否存在 .bash_profile。如果存在,则bash在当前shell中执行 .bash_profile,Bash然后停止寻找其他文件,如 .bash_login 和 .profile。

    如果bash没有找到 .bash_profile,那么它将按照顺序查找 .bash_login 和 .profile,并只执行第一个可读的文件。

    让我们研究一个示例 .bash_profile文件。这里我们重新设置并导出PATH变量

    echo "Bash_profile execution starts.." 
    PATH=$PATH:$HOME/bin;
    export PATH;
    echo "Bash_profile execution stops.."

    在交互式登录shell的

    Bash_profile execution starts..
    Bash_profile execution stops..
    [example@example ~]$

    3.2 .bashrc 的意义

    .bashrc包含特定于bash shell的命令。每个交互式非登录shell首先读取 .bashrc,通常,.bashrc是添加别名和bash相关功能的最佳场所。

    bash shell在主目录中查找 .bashrc文件,并使用source在当前shell中执行它。

    让我们通过样例认识 .bashrc文件

    echo "Bashrc execution starts.."
    alias elui='top -c -u $USER'
    alias ll='ls -lrt'
    echo "Bashrc execution stops.."

    在交互式非登录shell的命令提示符之前,我们将看到下面的输出

    [example@example ~]$ bash
    Bashrc execution starts..
    Bashrc execution stops..
    [example@example ~]$

    3.2 .profile 的意义

    在交互式shell登录过程中,如果在主目录中不存在 .bash_profile,则bash寻找 .bash_login,如果发现**.bash_login** 则bash执行它。如果 .bash_login 不存在主目录中,则bash寻找 .profile 并执行它。

    .profile 可以保持与 .bash_profile 或 .bash_login 的配置。它控制着出现的提示,键盘声音,要打开的 shell 以及覆盖 /etc/profile文件中设置的变量的单个配置文件设置。

    4 区别

    在每次交互登录时,bash shell都会执行 .bash_profile。如果在主目录中找不到 .bash_profile,bash将执行从 .bash_login 和 .profile 中找到的第一个可读文件。但是,在每次交互式非登录shell启动时,bash都会 .bashrc。

    通常情况下,环境变量会被放入 .bash_profile。由于交互式登录shell是第一个shell,因此环境设置所需的所有默认设置都被放入**.bash_profile**。因此,它们只设置一次而且在所有子shell中继承。

    同样地,别名和函数也会被放入 .bashrc 确保每次从现有环境中启动shell时都加载这些

    然而,为了避免登录和非登录交互shell设置的差异。.bash_profile 调用 .bashrc。因此,我们将看到下面的代码片段被插入**.bash_profile**,以便在每个交互式登录shell上 .bashrc 也在同样shell执行:

    if [ -f ~/.bashrc ];
    then
      . ~/.bashrc;
    fi
    PATH=$PATH:$HOME/bin export PATH

    注意:

    总而言之,在使用环境之前,shell需要其启动文件以配置shell环境。

    在本文中,我们检查了各种shell模式。然后,我们了解了各种bash启动文件的重要性。最后,我们检查了这些启动文件之间的差异。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    --结束END--

    本文标题: linux用户source .bashrc或.profile找不到文件的解决

    本文链接: https://www.lsjlt.com/news/201912.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • linux用户source .bashrc或.profile找不到文件的解决
      目录linux用户source .bashrc或.profile找不到文件Linux .bashrc .bash_profile 和 .profile之间的区别1 概述2 交互式和非交互式shell3 bash启动文件4...
      99+
      2023-04-28
      linux用户source.bashrc linux.profile找不到文件 linux source bashrc profile
    • linux用户source.bashrc或.profile找不到文件的解决
      目录linux用户source .bashrc或.profile找不到文件Linux .bashrc .bash_profile 和 .profile之间的区别1 概述2 交互式和非...
      99+
      2023-05-18
      linux用户source.bashrc linux.profile找不到文件 linux source bashrc profile
    • linux中source .bashrc未找到命令怎么解决
      如果在Linux中输入source .bashrc命令时出现未找到命令的错误,可能是因为当前路径不在用户的home目录下,或者.ba...
      99+
      2024-04-02
    • linux终端找不到文件或目录如何解决
      在Linux终端中,当出现"找不到文件或目录"的错误提示时,可能是以下几个原因导致的:1. 文件或目录不存在:首先确认你输入的文件或...
      99+
      2023-09-16
      linux
    • Linux系统中bashrc和profile文件的作用是什么
      这篇文章将为大家详细讲解有关Linux系统中bashrc和profile文件的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用终端ssh登录Linux操作系统的控制台后,会出现一...
      99+
      2023-06-12
    • linux明明有文件却找不到如何解决
      本篇内容主要讲解“linux明明有文件却找不到如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux明明有文件却找不到如何解决”吧!linux明明有文...
      99+
      2023-01-06
      linux
    • linux明明有文件却找不到怎么解决
      linux明明有文件却找不到的解决办法:1、打开终端命令行窗口;2、使用“find”命令来查找文件;3、使用通配符“*”来进行文件查找;4、回车执行命令完成文件查找,打开终端命令行窗口是指打开Linux系统中的命令行窗口。本文操作环境:li...
      99+
      2023-07-10
    • windows找不到文件如何解决
      这篇文章主要介绍“windows找不到文件如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“windows找不到文件如何解决”文章能帮助大家解决问题。解决方法:按下“win+R”打开运行输入 r...
      99+
      2023-07-01
    • win10找不到文件如何解决
      如果你在Windows 10中找不到文件,可以尝试以下几种解决方法:1. 使用Windows搜索功能:点击任务栏上的搜索图标,输入你...
      99+
      2023-10-23
      win10
    • windows找不到文件怎么解决
      本文小编为大家详细介绍“windows找不到文件怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows找不到文件怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。解决方法:准备一个U盘,将其插...
      99+
      2023-07-01
    • python找不到文件如何解决
      本文小编为大家详细介绍“python找不到文件如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“python找不到文件如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。解决方法:点击进入“此电脑”。 右...
      99+
      2023-07-01
    • windows10找不到文件如何解决
      本篇内容介绍了“windows10找不到文件如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解决方法:方法一、 按下WIN+R打开运行...
      99+
      2023-07-01
    • windows找不到文件或没有读取权利如何解决
      本篇内容主要讲解“windows找不到文件或没有读取权利如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows找不到文件或没有读取权利如何解决”吧!解决方法:在需要使用的文件夹上右...
      99+
      2023-07-01
    • ubuntu解压文件找不到文件如何解决
      在Ubuntu中解压文件找不到文件的问题可能有多种原因。以下是一些常见的解决方法:1. 检查文件路径:确保你提供的文件路径是正确的。...
      99+
      2023-09-16
      ubuntu
    • php找不到文件如何解决
      这篇文章主要介绍“php找不到文件如何解决”,在日常操作中,相信很多人在php找不到文件如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php找不到文件如何解决”的疑惑有所帮助!接下来,请跟着小编一起来...
      99+
      2023-07-05
    • linux终端找不到文件或目录的原因有哪些
      有以下几种可能的原因导致Linux终端无法找到文件或目录: 路径错误:输入的路径可能有误,例如拼写错误、大小写错误或者路径中包含...
      99+
      2023-10-27
      linux
    • 解决Apache找不到PHP文件的方法
      解决Apache找不到PHP文件的方法,需要具体代码示例 在搭建网站过程中,经常会遇到Apache找不到PHP文件的问题,这可能是由于配置错误或者文件路径不正确导致的。在本文中,我们将...
      99+
      2024-04-02
    • PHP文件丢失?解决找不到文件的问题
      当我们开发网站或应用程序时,经常会遇到一种常见的问题,那就是PHP文件丢失的情况。这种问题可能是由于文件路径错误、服务器配置问题或其他原因导致的,但是无论是什么原因,解决这个问题通常需...
      99+
      2024-03-09
      php 解决方法 文件查找
    • windows找不到文件launcher.exe如何解决
      本文小编为大家详细介绍“windows找不到文件launcher.exe如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows找不到文件launcher.exe如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
      99+
      2023-07-01
    • windows找不到文件cwindowssystem32msdt如何解决
      本文小编为大家详细介绍“windows找不到文件cwindowssystem32msdt如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows找不到文件cwindowssystem32msdt如何解决”文章能帮助大家解决疑惑...
      99+
      2023-07-01
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作