定义变量
1、variable=value
var=1
echo "$var"
定义变量时“=”前后不能带空格
2、variable=‘value’
var='1 2 3'
echo "$var"
3、variable=“value”
var='1 2 3'
var1="${var} 4 5 6"
echo "$var1"
这种定义变量的方式是可以引用其他变量
使用变量
$variable
${variable} 可以引用变量
将命令结果赋值给变量
1、variable=command
2、variable=$(command)
var=`pwd`
var1=$(pwd)
echo "$var"
echo "$var1"
特殊变量
变量 | 含义 |
---|---|
$0 | 当前脚本的文件名 |
$n (n>=1) | 传递给脚本的参数,n代表第几个参数 |
$# | 传递给脚本参数的个数 |
$* | 传递给脚本的所有参数 |
$@ | 传递给脚本的所有参数,和上面的略有不同 |
$? | 上个命令的退出状态或者函数返回值 |
$$ | 获取shell进程ID |
echo "shell's file name: $0"
echo "the first param: $1"
echo "the number of param: $#"
echo "all param: $*"
echo "the shell ID: $$"
exit 10
读取从键盘输入的数据
read
read -p "intput a:" a
echo "$a"
进行数学运算
(())
read -p "intput a:" a
a=$((a+1))
echo "$a"
检验某个条件是否成立
test expression 和[expression]
选项 | 作用 |
---|---|
-eq | 判断数值是否相等 |
-ne | 判断数值是否不相等 |
-gt | 判断数值是否大于 |
-lt | 判断数值是否小于 |
-ge | 判断数值是否大于等于 |
-le | 判断数值是否小于等于 |
-z str | 判断字符串是否为空 |
-n str | 判断字符串是否为非空 |
=和== | 判断字符串是否相等 |
-d filename | 判断文件是否存在,且是否为目录文件 |
-f filename | 判断文件是否存在,且是否为普通文件 |
逻辑与和或
command1 && command2
command1 || command2
read -p "intput a:" a
read -p "intput b:" b
[ $a -eq $b ] && echo "a=b"
[ $a -eq $b ] || echo "a!=b"
if系列语句
if:
if condition
then
statement1
fi
if elif else:
if condtion1
then
statement1
elif condition2
then
statement2
esle
statement3
fi
if ((a > b))
then
echo "a>b"
elif ((a < b))
then
echo "a<b"
else
echo "a=b"
if
for in
for variable in value_list
do
statement
done
value_list取值为
●直接给出具体的数
●给出范围
●使用命令的执行结果
●使用shell通配符
●使用特殊变量
for n in {1..10}
do
echo "$n"
done
while循环
while condition
do
statement
done
cvar=10
while ((var>0))
do
echo "$var"
var=$((var-1))
done