#什么是shell?
提供用户使用界面的软件,通常就是命令行模式下的命令解析器
#系统合法的shell?
配置文件:/etc/shells
##提问 /sbin/nologin 这个文件的作用?
##用户登录系统后取得的shell,配置文件/etc/passwd,最后一行
#命令别名的设置:alias
$alias lm=“ls -al” (此时仅为局部变量,全局变量需要写入/etc/profile.d, $alias lm=ls -al >> /etc/profile.d,或者仅为某个用户设置别名,写入~/.bash_profile )
#查询命令是否为bash的内置命令:#type name
type 主要再找执行文件而不是一般的文件名,所以思考type与which命令的区别和用途?
#shell的变量(***)
什么是变量? 大约就是“y=ax”,左边y为变量,是未知的,右边ax为变量内容,是已知的当然也可以是bx等。简单的说就是令一个特定的字符串代表不固定的东西。
#变量设置
变量=变量内容
取消变量设置:unset 变量名称
变量设置规则:1、变量与变量内容以一个等号连接,且等号两边不能直接接空格,变量内容开头不能是数字。
2、变量内容若有空格可使用双引号或者单引号将变量内容结合起来,但是双引号内的特殊字符如
等
,
可
以
保
持
原
有
的
特
性
。
单
引
号
内
的
特
殊
字
符
则
仅
为
一
般
字
符
3
、
增
加
变
量
:
变
量
=
等,可以保持原有的特性。 单引号内的特殊字符则仅为一般字符 3、增加变量:变量=
等,可以保持原有的特性。单引号内的特殊字符则仅为一般字符3、增加变量:变量={变量}:累加内容;示例PATH=$ {PATH}:/home/bin
4、局部变量成为全局变量:$export 变量
思考:扩增一个全局变量后如何取消?export命令造成的后果在注销后会消失吗?
#用env观察环境变量/或者使用export
#用set观察环境变量与自定义变量
思考:变量$$ 与变量$?代表的含义?
#declear 声明变量的类型 #declear [-aixr] variable
#bash shell 的操作环境
bash登陆信息提供文件:/etc/issue 以及/etc/motd配置文件
()bash环境配置文件 /etc/profile ~/.bash_profile 以及 ~/.bashrc
login shell 读取两个环境配置文件:
1、/etc/profile 这是系统整体的设置,最好个人不要修改这个文件 (调用/etc/profile.d/.sh)
2、~/.bash_profile 或者 ~/.bash_login或者 ~/.profile 这是用户个人设置(调用 ~/.bashrc)
non-login shell 读取的环境配置文件: ~/.bashrc