目录
准备
获取执行Shell文件的脚本位置:
echo $BASH
一般获得
/bin/bash
一个简单的例子
创建sh文件并编辑:
vim demo.sh
在首行加入#!/bin/bash:
#!/bin/bash
# 这行“#”是注释
# 输出alibli
echo "alibli"
# 输出局部变量,等号两侧不要有空格
x=666
echo $x
# 输出环境变量,PWD代表当前路径
echo $PWD
给权限并运行:
chmod 777 demo.sh
./demo.sh
或直接:
/bin/bash demo.sh
循环语句
#!/bin/bash
j=0
for i in `seq 1 16`
do
echo "当前数字 $i"
# “+”要有空格,否则是连接
j=`expr $i + $j`
done
echo "数字合为 $j"
读文件:
#!/bin/bash
# 打印text.txt中的内容
while read line
do
echo $line
done</root/text.txt
判断语句
#!/bin/bash
NUM1=1
NUM2=2
if(($NUM1>$NUM2));then
echo "NUM1>NUM2"
else
echo "NUM1<NUM2
fi
判断目录是否存在:
#!/bin/sh
if [ ! -d /root/alibli ]; then
mkdir -p /root/alibli
else
echo "目录已存在"
fi
运算符
算术运算
- res=$(( 4 + 5 ))
- res=[ 4 + 5 ]
- let res=4+5
- expr方式
函数
#!/bin/bash
function test(){
echo $1
echo "function test"
}
test 8
如果用return语句返回值只能是0~255之间,如果用echo可以任意,函数内最后一个语句的返回值就是函数的返回值。