美文网首页
第1章-小试牛刀(18使用配置文件定制bash)

第1章-小试牛刀(18使用配置文件定制bash)

作者: 昨天剩下的一杯冷茶 | 来源:发表于2019-03-05 11:07 被阅读0次

    1.8使用配置文件定制bash
    你在命令中输入的绝大部分命令都可以放置在一个特殊的文件中,留待登录或启动新的bash会话时执行。将函数定义、别名以及环境变量设置放置在这种特殊文件中,是一种定制shell的常用方法。

    放入配置文件中的常用命令如下:
    #定义ls命令使用的颜色
    LS_COLORS=`no=00:di=01;46:ln=00;36:pi=40;33:so=00;35:bd=40;33;01`
    export LS_COLORS
    #主提示符
    PS1=`Hello $USER`; export PS1
    #正常路径之外的个人应用程序安装目录
    PATH=$PATH:/opt/MySpecialApplication/bin;export PATH
    #常用命令的便捷方式
    function lc () {/bin/ls -C $* ; }

    应该使用那些定制文件?
    Linux和Unix中能够放置定制脚本的文件不止一个。这些配置文件分为3类:登录时执行的、启动交互式shell时执行的以及调用shell处理脚本文件时执行的。

    实战演练
    当用户登录shell时,会执行下列文件:
    /ect/profile,$HOME/.profile,$Home/.bash_login,$HOME/.bash_profile/

    注意,如果你是通过图形化登录管理器登入的话,是不会执行/etc/profile、$HOME/.profile和$HOME/.bash_profile这3个文件的。这是因为图形化窗口管理器并不会启动shell。当你打开终端窗口时才会创建shell,但这个shell也不是登录shell。

    如果.bash_profile或.bash_login文件存在,则不会去读取.profile文件。

    交互式shell(如X11终端会话)或ssh执行单条命令(如ssh 192.168.1.1 ls /tmp)时,会读取并执行以下文件:
    /etc/bash.bashrc $HOME/.bashrc
    如果运行如下脚本:

    caicai@test-hp:~$ cat myscript.sh 
    #!/bin/bash
    echo "Running"
    

    1、 sudo vi /etc/bash.bashrc
    2、 添加bash /home/caicai/myscript.sh
    3、 重新登录,效果

    Last login: Tue Mar  5 14:55:45 2019 from 192.168.1.6
    Running
    

    使用ssh运行下列命令时:
    ssh 92.168.1.00 ls /tmp

    会启动一个bash shell,读取并执行/etc/bash.bashrc和$HOME/.bashrc,但不包括/etc/profile或.profile。

    如果调用ssh登录会话:
    ssh 192.168.1.100
    这会创建一个新的登录bash shell,该shell会读取并执行以下文件:
    /etc/profile
    /etc/bash.bashrc
    $HOME/.profile or .bashrc_profile

    危险:像传统的Bounrne shell、ash、dash以及ksh这类shell,也会读取配置文件。但是这些shell并不支持线性数组(列表)和关联数组。因此要避免在/etc/profile或$HOME/.profile中使用这类不支持的特性。

    相关文章

      网友评论

          本文标题:第1章-小试牛刀(18使用配置文件定制bash)

          本文链接:https://www.haomeiwen.com/subject/azhnuqtx.html