shell编程:
shell是Linux的命令解释器,它负责将用户输入的命令传递给内核执行,然后把结果反馈给用户,利用shell程序还可以编写shell脚本,把经常做的工作转换为shell程序。接下来主要学习的是Linux默认shell程序bash。
Linux命令可以分为内部命令和外部命令。内部命令在shell程序启动时就被调入内存,并常驻内存;外部命令是系统的软件功能,用户需要时才从硬盘中调入内存,例如常用的内部命令:
exit:终止当前shell的执行
export:设置一个环境变量,当前shell的所有子进程都可以访问此环境变量
kill:终止某个进程的执行
* : 匹配任何字符和字符串;
?:匹配任意一个字符,?ab,可以匹配任何以ab结束,并以任意字符开头的含有三个字符的字符串;
[...]:匹配[ ]出现的任意字符,例如abc[def],可以匹配以abc开头以def任意字符结尾的字符串;
history 显示过去输入过的命令
history n 显示n个过去输入过的命令
alias list = 'ls -l' 定义一个命令的别名(等号两边不能有空格)
unalias list 取消命令别名
shell程序基本结构:
shell程序指将一系列的Linux程序通过流程控制写入一个文件中,
由shell读取此文本文件并依次执行文件中这些程序。
编辑a.sh
#hello
echo hello
echo he
执行a.sh
chmod +x a.sh
./a.sh
shell程序需要变量存储程序数据,shell中变量可分为局部变量,环境变量,位置变量三种。
shell语言是一种解释型语言,局部变量指只在当前进程或程序中有效的变量,shell中变量是
无数据类型的,可以使用同一变量存储不同类型的值。
a=1
b=2.2
c='few ew'
echo $a
echo $b
echo $c
环境变量:
export 查看环境变量
echo $... 访问环境变量
export XX=123 定义环境变量
定义的环境变量只在当前shell中运行的进程中有效,并没有保存到系统文件中,所以重启系统后将无法访问这些环境变量。
环境变量的系统配置文件/etc/profile