您的位置:首页 > 运维架构 > Shell

bash环境(变量与bash配置文件)

2015-08-22 11:47 501 查看
一:名词理解
编译型:源程序(文本文件) 预处理 编译 汇编 链接
静态语言
解释型:源程序(文本文件) 解析器读取并执行
动态语言
编译器:
解释器:
解释:
词法分析
语法分析
语义分析

条件判断:选择分支
循环:

对象式编程:
过程式编程:
顺序执行
选择执行
循环执行

解释器:提供了编程环境
脚本:使用bash提供控制机智,将期望执行的命令罗列于文本文件中
bash没有库,整个程序几乎都要依赖于命令

二、变量
1、bash变量类别
本地变量:只对当前shell进程有效,对其它shell进程无效,包括当前shell的子进程
变量赋值:向变量的存储空间保存数据 VAR_NAME=VALUE
变量引用:${VAR_NAME}
“”:弱引用,里面的变量会被替换
'':强引用,里面的所有字符都是字面量,直接输出
环境变量:对当前shell进程有效及其子shell有效,对其他shell无效
定义:export VAR_NAME=VALUE
导出:export VAR_NAME
撤销变量: unset VAR_NAME
只读变量: readonly VAR_NAME
用户可自定义,bash有许多内置的环境变量
局部变量:对shell脚本中某代码片段有效,通常用于函数本地:
定义: local VAR_NAME=VALUE
位置参数变量:$1,$2,$3、、、${10}
特殊变量:$?,

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

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

2、变量类型
a.存储机制
b.存储空间
c.参与的运算方式
(二进制)数字的存储, 18:00010010

文本的存储, ASCII:128常用字符 18:1,8
1:8bits 8:8bits 18:16bits
变量类型:
数值型:
精确数值:整数
近似数值:浮点型
单精度浮点
双精度浮点
字符型:
char
string
布尔型:true,false
bash是弱字符型语言,一切皆字符
类型转换:显示转换,隐式转换

三、bash的配置文件
profile类:为交互式登录的用户提供配置

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

全局:/etc/bashrc
用户:~/.bashrc
用途:
1、设定本地变量
2、定义命令别名

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

如何使通过编辑配置文件修改的配置生效?
1、退出并重新登录
2、让bash重读此配置文件
. FILENAME 注意,多次重读配置文件可能会产生重复赋值
source FILENAME

系统开机读取bash配置文件顺序
交互登录的用户:
/etc/profile /etc/profile.d/*.sh ~/.bash_profile ~/.bashrc /etc/bashrc
非交互式登录的用户:
~/.bashrc /etc/bashrc /etc/proile.d/*.sh

/etc/issue是存放linux登录前的提示语
/etc/motd是存放linux登录后的提示语

设置系统提示信息
1. 登录前(该信息,远程ssh连接的时候并不会显示)
在登录系统输入用户名之前,可以看到上方有WELCOME......之类的信息,这里会显示LINUX发行版本名称,内核版本号,日期,机器信息等等信息,要设置的话,首先打开/etc/issue文件,可以看到里面是这样一段"Welcome to <LINUX 发行版本名称>-kernel 后接各项参数\"
后接的参数的各项说明:
\r 显示KERNEL内核版本号;
\l 显示虚拟控制台号;
\d 显示当前日期;
\n 显示主机名;
\m 显示机器类型,即CPU架构,如i386等;

了解了参数的意义,就来修改,将上面一段欢迎信息修改如下,可以显示所有必要的信息:

Welcome to <LINUX 发行版本名称>-kernel \r (\l) \d \n \m.

2. ssh 设置
vi /etc/ssh/sshd_config添加
Banner /etc/ssh/ssh_login_banner
把欢迎语或提示信息写入 /etc/ssh/ssh_login_banner(centos6.4)即可,简单的很。

登录后的提示信息(ssh也有效):
编辑/etc/motd这个文件, 在里面加入自己喜欢的任何欢迎信息,这段信息将会在登录成功后显示!

3.bash的配置文件中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: