1、第一行必须以#!/bin/bash
#!表示脚本使用后面的解释器解释执行
2、echo 打印输出
例如 echo “hello world” > aa.txt
3、接收参数
#!/bin/bash
name=$1
age=$2
sex=$3
echo “name:$name;age:$age;sex:$sex”
运行效果:
4、接受用户输入的参数
#!/bin/bash
read -p “please input your name:” name
echo “my name is $name”
read :等待用户输入,类似于java里面的scanner
-p:提示信息
5、判断if/then /elif/else/fi
elif等同于else if
if 必须要以fi结束,否则会报错
例如:根据一个人的年龄判断他是少年,中年还是老年(这里就假设1~20是少年 21~60是中年 60十以上就是老奶年)
#!/bin/bash read -p “please input your age:” age if [ $age -lt 0 ]; then echo “age is incorrect” else if [ $age -lt 20 ]; then echo “younger” elif [ $age -lt 60 ]; then echo “adult” elif [ $age -lt 120 ]; then echo “older” else echo “age is incorrect” fi fi
附表
1、字符串判断
str1 = str2 当两个串有相同内容、长度时为真 str1 != str2 当串str1和str2不等时为真 -n str1 当串的长度大于0时为真(串非空) -z str1 当串的长度为0时为真(空串) str1 当串str1为非空时为真
2、数字的判断
int1 -eq int2 两数相等为真 int1 -ne int2 两数不等为真 int1 -gt int2 int1大于int2为真 int1 -ge int2 int1大于等于int2为真 int1 -lt int2 int1小于int2为真 int1 -le int2 int1小于等于int2为真
3、文件的判断
-r file 用户可读为真 -w file 用户可写为真 -x file 用户可执行为真 -f file 文件为正规文件为真 -d file 文件为目录为真 -c file 文件为字符特殊文件为真 -b file 文件为块特殊文件为真 -s file 文件大小非0时为真 -t file 当文件描述符(默认为1)指定的设备为终端时为真
-e file 文件是否存在 test -e filename -S file 文件是否存在,且为Socket文件 -p file 文件是否存在,且为FIFO(pipe)文件
-u file 文件是否存在,且具有SUID属性 -g file 文件是否存在,且具有SGID属性 -k file 文件是否存在,且具有 Sticky bit 属性 -s fie 文件是否存在,且为 非空白文件
4、复杂逻辑判断
-a 与 -o 或 ! 非
旅行要学会随遇而安,淡然一点,走走停停,