@
shell编程的建立
[root@localhost ~]# vi mytest
就建立了一个名叫mytest的文件
vim编辑器没有接触过,你就需要学习一下啊,这里介绍几个简单的命令:
- 单点I进入插入模式
- Ctrl+c退出插入模式
- 在浏览模式按下“:”,再输入q是不保存退出、wq是保存并退出
shell的hello world!
echo 你想要输出的内容
执行脚本的方法:
sh 你创建的shell脚本的名字
bash 你创建的shell脚本的名字
打开一个子shell去读取,不需要有执行权限
或者
source 你创建的shell脚本的名字
区别:在当前shell内执行、且不需要有执行权限,source可以替换成.
. 你创建的shell脚本的名字
或者
./你创建的shell脚本的名字
打开一个子shell,但是需要有执行权限
Shell的环境变量
相当于window系统下的环境变量
环境变量 | 说明 |
---|---|
PATH | 指定命令的搜索路径,以冒号为分隔符 |
HOME | 指定用户的主工作目录 |
HISTSIZE | 命令历史文件 |
LOGNAME | 当前的登录名 |
HOSTNAME | 主机的名称 |
SHELL | shell的全路径名 |
TERM | 用户控制终端的类型 |
PWD | 当前工作目录的全称 |
PS1 | 命令基本提示符,root用户是“#”,对于普通用户是“"$" |
环境变量一般都大写,系统启动以后自动加载,可写的环境变量用户可以随时修改
使用和设置环境变量
命令 | 说明 |
---|---|
echo | 显示某个环境变量值 |
export | 设置一个新的环境变量 |
env | 显示所有环境变量 |
set | 显示本地定义的Shell变量 |
unset | 消除环境变量 |
readonly | 设置只读环境变量 |
如图设置PI环境变量为3.1415926
env命令查看
Shell的系统变量
Shell的系统变量主要在对参数和命令返回值进行判断时使用,包括脚本和函数的参数,以及脚本和函数的返回值。
常用系统变量
系统变量 | 说明 |
---|---|
$0 | Shell程序名 |
$1-$9 | 第1~9个命令行参数的值 |
$* | 传递给脚本的所有参数,全部参数合为一个字符串 |
$ # | 传递给脚本的参数个数 |
$ $ | 当前进程的ID |
$ ? | 最后执行一条命令的退出状态,返回值为0则成功,非0则失败 |
$ ! | 在后台运行最后一个进程的ID |
命令行参数的个数大于9的个时,可以使用shift指令将参数左移,获取第10个以后的参数。也可以用shift n将所有参数一次性左移n位
用户自定义变量
用户自定义变量在Shell脚本中使用,他们拥有临时的存储空间。在程序执行中值可以改变,这些变量可以设置为只读。
在程序中使用变量值的时候,要在变量名前面加一个字符“$"。这个符号告诉Shell要取出变量的值(”==“两边不能有空格)
上图输出加了$的值为这个变量的值,不加就直接输出了字符串
当复制给变量含有空格、制表符、或者换行符时,要用双引号把这个字符串引起来
当然赋值也可以像下图所示: