touch test.sh //创建sh文件
vi test.sh //编辑sh文件
#!/bin/bash
echo "helloword"
#!/bin/bash
cd /home/test
touch test01.txt
echo "I LOVE SHELL" >> test01.txt
cat test.txt //展示文件内容
示例:
定义helloword.sh脚本内容
#!/bin/bash
echo "helloword dahaihaige"
echo $D
定义变量D
D="banzhang love mm"
$0 //文件名
$1 //第一个参数
$2 //第二个参数
.....
打印出参数的个数
执行结果:
结果:
示例:
-lt 小于
-le 小于等于
-eq 等于
-gt 大于
-ge 大于等于
-ne 不等于
示例:
[ 3 -ge 2 ] //判断是否 3大于等于2
echo $? //是一个命令操作是否成功
[ -w test.sh ] //判断test.sh文件是否具有写权限 -r 读 -w 写 -x 执行
echo $? //输出 0-成功 非0-失败
-f文件存在,常规文件
-e文件存在
-d文件存在,是目录
if [ 3 -gt 2 ]:then //[]与3和2之间有空格,if与[]之间也有空格,3前面和2后面都有空格
echo '"3大于2"
fi
或者
if [ 5 -eq 6 ]
then
echo "5等于6"
elif [ 5 -gt 6 ]
then
echo "5大于6"
el
echo "5小于6"
fi
注意事项:
注意: $1 代表控制台输入的第一个参数,实现动态赋值
if [ 条件表达式1 ]
then
程序1
elif [ 条件表达式2 ]
then
程序2
fi
case $1 in
18)
echo "18岁"
;; //等价于break
10)
echo "10岁"
;;
*) //等价于default
echo "其他"
;;
esac
s=0
for((i=1;i<=100;i++))
do
s=$[$s+$i]
done
echo $s
“$*” 和 "$@"
touch while.sh //创建sh文件
vim while.sh //编辑内容
bash while.sh //执行sh文件
-p "提示信息"
-t 7 //等待时间7秒
示例:输出人名中的姓 //姓和名中间有空格,根据空格分割
-e //直接在指令模式上进行sed操作
a //新增
d //删除
s //查找并替换
新增:
删除:
查找并替换:
g 表示global,全部替换
sudo 表示以管理员身份执行命令
cp 复制
./ 表示当前路径
更改所有者
不用具备可执行权限x
sh hello.sh
sh+绝对路径
sh /aa/bb/hello.sh
sh+相对路径
不用具备可执行权限x
bash hello.sh
bash+相对路径
bash /aa/bb/hello.sh
bash+绝对路径
chmod 777 hello.sh
777 表示:可读、可写、可执行
需先赋予可执行权限
.hello.sh
需先赋予可执行权限
/aa/bb/hello.sh