根据国嵌一个小时的视频课程制作,虽然是入门,但是感觉很有用处的,没事的时候拿来看看,效率很高,很快就能了解shell。
Shell脚本的概念:
例子如下:
echo是打印。echo后面的语句要加双引号
运行shell脚本:
sh *.sh
或者直接:./*.sh
上图运行脚本,mkdir命令错误,因为tnt目录已经存在。
删除目录的命令
第一句一定要指定命令解析器:
看到/bin/sh目录下有个/bin/sh,
从颜色来看要知道这是个连接文件。
ls -l看到,是以l开头的。
链接到bash,那是用的bash shell这个命令解析器
chmod 777 hello.sh
打印出来是
A is
hello world
注意:
echo自动换行;
变量不需要预先声明,直接用
用变量是加$
看到$后的都没有输出。
Why?
上图中把numnd整个当做一个变量
可以考到echo后面双引号里的$f符号依然起作用
注意是加大括号,不是小括号
注意$#,$*都不包括命令本身,只是参数
shell语句没有分号。
把local去掉
看到上上图里,只要没有local表明,在函数里的hello也是全局的,这点和c的函数不同
==============
条件满足进到then,不满足进到else
注意: [左右都要有空格
每个if都要对应一个fi
可以使用 elif :
全新的:
注意=左右都有空格,没有空格是等于号
文件判断语句:
注意:这些命令后的目录都用双引号
这些命令要加[]中括号
&& ||什么意思?&&:前面为真的时候执行后面&&后面的语句。||:前面语句为假,执行||后面的语句
=====================
for所在行,实际在给变量赋值,不用$,而循环体内是使用变量,所以要加$
read是shell脚本提供的函数,等待用户从键盘输入一个键