一、shell脚本概述
命令的堆砌,按实际需要,结合命令流程控制
shell脚本的构成
l #!/bin/bash 必须的,指出shell的类型
l # 注释
l 变量
l 控制
shell脚本的两种运行方式
法一:
chmod +x test.sh #使脚本具有执行权限
./test.sh #执行脚本
法二:
/bin/sh test.sh
二、变量类型
本地变量
局部变量只在创建它们的Shell中使用,可以在shell程序内任意使用和修改它们。
本地变量 在用户现在的shell生命期的脚本中使用
变量的声明和使用
( 1)变量是弱类型的(不用声明类型)
( 2)变量声明及赋值格式:变量=值(等号两边不能有空格)
( 3)变量的引用( 3)变量的引用
$变量名
${变量名}
变量名为1个字符时建议使用方式一,多余一个字符时建议使用方式二
显示变量
echo命令可以显示单个变量取值,变量名前加$
清除变量
unset 变量名
环境变量
可以在创建它们的Shell及其派生出来的任意子程序中使用。有些变量是用户创建的,其他的则是专用的(比如PATH、 HOME)。是系统环境的一部分,不必去定义它们,可以在shell程序中使用它们 。还能在shell中加以修改
环境变量可以用于所有子程序,着包括编辑器、脚本和应用
环境变量可以在命令行中设置,但用户注销时这些值将丢失
环境变量均为大写
必须用export命令导出
设置环境变量
variable-name=value
export variable-name(环境变量名大写)
显示环境变量
env 可以看到所有的环境变量
echo $环境变量名 (显示一个变量)
清除环境变量
unset 环境变量名
特殊变量
$# ——传送给shell程序的位置参数的数量
$?——最后命令的完成码或者在shell程序内部执行的shell
程序(返回值)。 0表示没有错误,其他任何值表明有错误。
$0——shell程序的名称
$*——调用shell程序时所传送的全部参数的单字符串, “参数1”“参数2”…形式保存的参数
$@ “参数1 参数2”…形式保存的参数
$n 第n个参数
$$ 本程序的PID
位置变量