码迷,mamicode.com
首页 > 系统相关 > 详细

shell变量

时间:2015-09-08 07:19:00      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:shell bash变量

shell变量

一、分类

    配置文件,生效范围划分,存在两类:

        全局配置:

    /etc/profile, /etc/profile.d/*.sh

    /etc/bashrc

个人配置:

            ~/.bash_profile

            ~/.bashrc

    按功能划分,存在两类:

        profile类:为交互式登录的shell提供配置

    /etc/profile, /etc/profile.d/*.sh

    ~/.bash_profile

        功用:

    (1) 定义环境变量,例如PATH、PS1

    (2) 运行命令或脚本

        bashrc类:为非交互式登录shell提供配置

    /etc/bashrc

    ~/.bashrc

        功用:

    (1) 定义命令别名;

    (2) 定义本地变量;


二、变量

    变量名指向一个临时的内存地址空间

    类型:

环境变量:作用范围当前shell进程及其子进程

本地变量:作用范围当前shell进程

局部变量:作用范围仅为当前shell进程中某代码片断(通常为函数上下文)

        位置变量:$1, $2

        特殊变量:$?


    变量定义方式:

bash内置变量:可直接调用,内置了许多环境变量,例如PATH等

自定义变量:变量名

    变量赋值:变量名=值

定义本地变量:

name=value

查看:set


定义环境变量:

export name=value

declare -x name=value

查看:env, printenv, export

撤消变量:

unset name

引用变量:

${name}, $name

bash中的引用符号:

‘‘: 强引用,变量替换不会发生

"":弱引用

``: 命令引用

三、用户登录

    shell登录类型:

交互式登录:

    直接通过终端进行的登录;

    通过su -l Username命令实现的用户切换;

非交互式登录:

    图形界面下打开的命令行窗口;

    执行脚本;

    su Username;


    登录时配置文件作用次序:

交互式登录:

/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

非交互式登录:

~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh

    编辑配置文件定义的新配置如何生效?

(1) 重新登录;

(2) 让当前shell进程去重新读取指定的配置文件;

    source /PATH/TO/SOMEFILE

    ./PATH/TO/SOMEFILE


本文出自 “从头再来” 博客,请务必保留此出处http://4708705.blog.51cto.com/4698705/1692466

shell变量

标签:shell bash变量

原文地址:http://4708705.blog.51cto.com/4698705/1692466

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!