标签:shell
一 什么是kernel , shell ,shell script
Kernel是linux管理整个电脑硬件系统,并向上层应用提供接口来调用硬件。
shell是用户和linux交互来控制kenel的一种应用程序。
系统中的shell类型有
[root@localhost ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh
查看当前使用的shell
[root@localhost ~]# echo $SHELL /bin/bash
shell script 是把命令堆砌在一起,来实现特定功能的程序化脚本。
二 变量:可变化的量,命名内存空间
bash环境:
本地变量:当前shell进程;
环境变量:当前shell进程及其子进程;
局部变量:某个函数执行过程;
位置参数变量:在脚本中引用传递给脚本的参数;在函数中引用传递给函数的参数;
特殊变量:$?, $*, $@, $#, $$
定义变量
name=value
name: 变量名
=:赋值符号
value:值
变量名:只能包含数字、字母和下划线;且不能以数字开头;
引用变量:${name}, $name
[root@localhost ~]# x=myx #设置x的值为myx [root@localhost ~]# echo $x #显示x的值,使用$引用 myx 10x=myx #以数字开头命名变量,显示错误 bash: 10x=myx: 未找到命令...
引用:
弱引用: "", 其内部的变量引用会被替换为变量值;
强引用:‘‘,其变量的变量引用会保持原有字符;
命令引用:`COMMAND`, $(COMMAND),引用命令的执行结果;
[root@localhost ~]# x=myx [root@localhost ~]# echo "x is $x" #弱引用,$x替换 x is myx [root@localhost ~]# echo ‘x is $x‘ #强引用,$x不替换 x is $x [root@localhost ~]# uname -r 3.10.0-229.el7.x86_64 [root@localhost ~]# cd /lib/modules/`uname -r`/kernel #命令替换 `uname -r`/ 替换为3.10.0-229.el7.x86_64 [root@localhost kernel]# pwd /lib/modules/3.10.0-229.el7.x86_64/kernel
声明为整型:
declare -i name[=value]
let name=value
生命周期:
创建
销毁:
自动销毁:shell进程终止;
手动销毁:unset name
[root@localhost ~]# test=mytest #设置变量 [root@localhost ~]# echo $test #变量可以显示 mytest [root@localhost ~]# unset test #销毁变量 [root@localhost ~]# echo $test #在次echo,显示为空
环境变量:
被“导出”的本地变量
export name[=value]
declare -x name[=value]
累加变量 『PATH="$PATH":/home/bin』或『PATH=${PATH}:/home/bin』
查看所有环境变量:env, printenv, export
标签:shell
原文地址:http://1step.blog.51cto.com/1160799/1696248