一.编写shell脚本基本格式
拿最简单的hello word
举例
.#!/bin/bash echo 'hello world'
- .#!/bin/bash:告诉计算机,使用bash解释器来执行代码
- echo: 打印
二.运行shell脚本
方法一
(推荐使用)
chmod 777 myshell.sh #给文件权限 ./myshell.sh #运行文件
方法2
sh myshell.sh
三.注释
单行注释 #内容 多行注释 :<<! 内容 !
四.定义变量
基本语法
1.定义变量:变量名=变量值 2.撤销变量:unset 变量名 3.声明静态变量:readonly 变量名 #静态变量不能unset 将命令执行结果返回变量 1.A=`ls -la` 反引号 2.A=$(ls -la) 等价于反引号 系统变量: $PATH $HOME $PWD $SHELL $USER
五.设置环境变量
基本语法
export 变量名=变量值 将shell变量输出给环境变量 source 配置文件名称 让修改后的配置信息立即生效 echo $变量值 查看环境变量的值 举例 vim a.sh export a = 111 :wq source a.sh echo $a 111
六.位置参数变量
主要是给shell脚本传参数
$n (功能描述:n 为数字,$0 代表命令本身,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}) $* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体) $@ (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待) $#(功能描述:这个变量代表命令行中所有参数的个数)
举例
a.sh脚本里面的内容
#!/bin/bash echo $2 #展示第二个参数 echo $* #这个整体 echo $@ #这个分开for循环中才有提现 echo $# #传参的个数
执行
[root@ywy ~]# sh a.sh 1 2 3 a.sh: line 1: .#!/bin/bash: No such file or directory 2 1 2 3 1 2 3 3
七.预定义变量
就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用
$$ (功能描述:当前进程的进程号(PID)) $! (功能描述:后台运行的最后一个进程的进程号(PID)) $? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令执行失败)
八.变量的基本运算
+ #加 - #减 / #除 % #取余 \* #乘 \( \) #括号
运算表达式
1.$((运算式)) 2.$[运算式] 3.`expr m + n`
特点
:运算符之间要有空格