一、shell定义与执行
shell既是一种应用程序,又是一种程序设计语言
shell是用户和Linux内核之间的接口程序
》作为应用程序: 交互式地解释、执行用户输入的命令,将用 户的操作翻译成机器可以识别的语言,完成相应 功能 》作为程序设计语言: 它定义了各种变量和参数,并提供了许多在 高级语言中才具有的控制结构,包括循环和分支 完成类似于windows下批处理操作,简化我们 对系统的管理与应用程序的部署
》Linux系统中提供了好几种不同的shell命令解释器,如sh、ash、bash等。
》一般默认使用bash作为默认的解释器。
》我们后面编写的shell脚本,都是由上述shell命令解释器解释执行的。
给文件添加权限
chmod + r + 文件名 给该文件增加可读的权限 chmod + w + 文件名 给该文件增加可写的权限 chmod + x + 文件名 给该文件增加可执行的权限 ./文件名 执行该文件
系统进行调用的shell脚本
》/etc/profile
此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,系统的公告环境变量在这里设置,开始自启动的程序,一般也在这里设置。
》~/.bashrc
用户自己的家目录中的.bashrc
登录时会自动调用,打开任意终端时也会自动调用
这个文件一般设置与个人用户有关的环境变量,如交叉编译器的路径等等。
1.定义以 #!/bin/bash 开头
2.单个 # 代表注释当前行
3.bash 直接指定使用bash解释文件
例如:
chmod +x test.sh;
./test.sh
bash test.sh
.test.sh
》三种执行脚本的方式不同点:
1、./ 和 bash 执行过程基本一致,后者明确指定bash解释器去执行脚本, 脚本中 #! 指定的解释器不起作用。前者首先检测 #! ,使用 #! 指定的shell, 如果没有,使用默认的shell。
2、用 ./ 和 bash 去执行会在后台启动一个新的shell去执行脚本。 用 . 去执行脚本不会启动新的shell,直接由当前的shell去解释执行脚本。
二、shell变量
*shell的变量按照变量的作用可以分为4类:
1.环境变量:主要保存与环境相关的参数
2.用户自定义变量:用在脚本内表达运行过程中数据
3.位置参数变量:用来向脚本中传递参数,变量名不能自定 义
4.预定义变量:是bash中已定义的变量,按照变量的作用范 围可以分为2类:
1.全局变量:是环境变量,其值不随shell脚本的执行结束而消失
2.局部变量:shell程序内部定义的,其使用范围仅限于定义 它的程序,包括用户自定义变量、位置变量和预定义变量。
一、自定