zoukankan      html  css  js  c++  java
  • bash_profile和bashrc区别

    【.bash_profile 与 .bashrc 的区别】
    .bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.


    【login shell 与 non-login shell 的区别】
    1、当你直接在机器login界面登陆、使用ssh登陆或者su切换用户登陆时,.bash_profile 会被调用来初始化shell环境
    Note:.bash_profile文件默认调用.bashrc文件
    .bash_profile中有如下内容
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi 
    2、当你不登陆系统而使用ssh直接在远端执行命令,.bashrc 会被调用
    3、当你已经登陆系统后,每打开一个新的Terminal时,.bashrc 都会被再次调用。


    测试准备工作
    hclient2主机hadoop用户家目录下执行
    [hadoop@hclient2 ~]$ echo "invoke hclient2:~/.bashrc">>.bashrc
    [hadoop@hclient2 ~]$ echo "invoke hclient2:~/.bash_profile">>.bash_profile


    Login Shell
    1、窗口登陆
    Red Hat Enterprise Linux Server release 6.3 (Santiago)
    Kernel 2.6.32-279.el6.x86_64 on an x86_64


    hclient2 login: hadoop
    Password:
    Last login: Mon Feb 25 23:03:45 on tty1
    invoke hclient2:~/.bashrc
    invoke hclient2:~/.bash_profile

    [hadoop@hclient2 ~]$
    2、SSH 登陆
    [hadoop@hserver ~]$ ssh hclient2
    Last login: Mon Feb 25 22:42:19 2013 from hserver
    invoke hclient2:~/.bashrc
    invoke hclient2:~/.bash_profile
    [hadoop@hclient2 ~]$
    3、su 登陆
    [root@hclient2 ~]# su - hadoop
    invoke hclient2:~/.bashrc
    invoke hclient2:~/.bash_profile


    Non-login Shell:
    Note: ssh ...[user@] hostname [command]
    If command is specified, it is executed on the remote host instead of a login shell.
    [hadoop@hserver ~]$ ssh hclient2 hostname
    invoke hclient2:~/.bashrc
    hclient2



    【故若要配置环境变量之类,最保险是写在 .bashrc 文件中。因为不管是登陆还是不登陆,该文件总会被调用!

  • 相关阅读:
    HDOJ_1010 Tempter of the Bone
    矩阵旋转
    HDU 2544 最短路 http://acm.hdu.edu.cn/showproblem.php?pid=2544
    题目连接:http://acm.zznu.edu.cn/problem.php?id=1329
    队列/优先队列(代码简单模式)
    虚拟方法调用
    Vim中分屏(整理)
    Java Web设计模式之依赖倒换原则
    Java Web 设计模式之开闭原则
    Java 2+2=5
  • 原文地址:https://www.cnblogs.com/yuzhaokai0523/p/4401660.html
Copyright © 2011-2022 走看看