默认变量
$# :传入脚本的命令行参数个数
$* :所有命令行参数值,在各个参数值之间留有空格
$0 :命令本身(shell文件名)
$1 :第一个命令行参数
$2 :第二个命令行参数
局部变量
在变量首次被赋值时加上local 关键字可以声明一个局部变量,例s3:
#!/bin/bash
hello="var1"
echo $hello
function func1 {
local hello ="var2"
echo $hello
}
func1
echo $hello
比较
比较操作 整数操作 字符串操作
相同 -eq =
不同 -ne !=
大于 -gt >
小于 -lt <
大于或等于 -ge
小于或等于 -le
为空 -z
不为空 -n
比较
例:
比较整数a和b是否相等:if [ $a = $b ] (也可用eq)
判断整数a是否大于整数b:if [ $a -gt $b ]
比较字符串a和b是否相等:if [ $a = $b ]
判断字符串a是否为空: if [ -z $a ]
判断整数变量a是否大于b:if [ $a -gt $b ]
判断
-e 文件已经存在
-f 文件是普通文件
-s 文件大小不为零
-d 文件是一个目录
-r 文件对当前用户可以读取
-w 文件对当前用户可以写入
-x 文件对当前用户可以执行
如果想要运行它,需要使用“sh *.sh"这样的命令。但是如果需要通过sh文件修改环境变量之类的,则需要使用“source *.sh”这样的命令。
常用参数
格式:export
格式:export -p
打印当前导出的环境变量。
格式:export VAR
导出变量VAR。
格式:export VAR=VALUE
设置环境变量,并导出。
格式:export -n VAR
取消导出变量VAR。
格式:unset VAR
删除变量VAR。