有关bash的一些常识

来源:互联网 发布:云计算分类 编辑:程序博客网 时间:2024/05/07 21:25

bash变量类别:

  1. 本地变量:只对当前shell进程有效的变量,对其它shell进程无效,包括当前shell的子进程。
    VAR_NAME=VALUE 变量赋值:向变量的存储空间保存数据
    $(VAR_NAME) 变量引用
    “”:弱引用,里面的变量会被替换。
    ”:强引用,里面的所有字符都是自变量,直接输出。
  2. 环境变量:对当前shell进程及其子进程shell有效,对其它的shell进程无效。
    定义:export VAR_NAME=VALUE
    导出:export VAR_NAME
    用户可自定义环境变量
    bash有许多内置的环境变量
    撤销变量:unset VAR_NAME
    只读变量:readonly VAR_NAME [一旦设置了就不能撤销了]
  3. 局部变量:
    对shell脚本中某代码片段有效;通常用于函数本地
    local VAR_NAME = VALUE
  4. 位置变量:
    【$$1 ,$2, $3,…$(10),…】
  5. 特殊变量:
    $?

查看当前shell进程中的所有变量:set
查看当前shell进程中的所有环境变量:export,printenv,env

变量命名:
1、不能使用程序汇总的关键字(保留字):if, case,for;
2、只能使用数字、字母和下划线,且不能以数字开头;
3、要见名知义:userName。

变量类型:(数值型,字符型,布尔型)

  1. 存储机制
    数值:18 0001 0010 8位
    文本:18 0000 0001
    0000 1000 16位
  2. 存储空间
  3. 参与的运算方式
    a=1 b=2 a+b

bash的配置文件:

**/etc/profile:这是系统整体的配置,你最好不要修改这个文件;
~/.bash_profile 或 ~/.bash*_login 或 ~/.profile:属于使用者个人配置,你要改自己的数据,就写入这里!*

  1. profile类:为交互式登陆的用户提供配置
    全局:
    /etc/profile
    /etc/profile.d/*.sh
    用户:
    ~/.bash_profile
    功用:
    1、设定环境变量
    2、运行命令或脚本

  2. bashrc类:为非交互式登陆的用户提供配置
    全局:
    /etc/bashrc
    用户:
    ~/.bashrc
    功用:
    1、设定本地变量
    2、定义命令别名

    登陆类型:
    交互式:直接通过终端输入账号和密码登陆:
    使用su -l USERNAME 或 su - USERNAME
    非交互式:su USERNAME 图形界面下的终端
    图形界面下打开的终端
    执行脚本

    通过编辑配置文件修改的配置生效:
    1、退出并重新登陆
    2、让bash重读次配置文件
    . FILE
    source FILE

交互登陆的用户:(–>调用)
/etc/profile –> /etc/profile.d/*.sh –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc

非交互式登录的用户:
~/.bashrc –> /etc/bashrc –> /etc/profile.d/*.sh

0 0
原创粉丝点击