第二章 Shell 脚本入门
2.1 脚本格式:
脚本格式:
脚本以 #!/bin/bash 开头 (bash是指定解释器为bash)
2.2 脚本创建
第一个Shell脚本:(在home目录创建文件夹datas,以后Shell脚本都放在这里/home/atguigu/datas)
需求:创建一个Shell脚本,输出HelloWorld[atguigu@hadoop102 ~]$ cd datas/ [atguigu@hadoop102 datas]$ touch HelloWorld.sh [atguigu@hadoop102 datas]$ vi HelloWorld.sh``` 输入脚本内容: #!/bin/bash echo "HelloWorld"
2.3 脚本执行
脚本的执行方式:开发中一般使用相对路径
1. 采用bash或sh+脚本的相对路径(不用赋予脚本+x权限) [atguigu@hadoop102 datas]$ sh HelloWorld.sh HelloWorld [atguigu@hadoop102 datas]$ bash HelloWorld.sh HelloWorld 2. 采用bash或sh+脚本的绝对路径(不用赋予脚本+x权限) [atguigu@hadoop102 datas]$ sh /home/atguigu/datas/HelloWorld.sh HelloWorld [atguigu@hadoop102 datas]$ bash /home/atguigu/datas/HelloWorld.sh HelloWorld 3. 采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x) (1)首先要赋予helloworld.sh 脚本的+x权限 [atguigu@hadoop102 datas]$ chmod 777 HelloWorld.sh (2)2)相对路径: [atguigu@hadoop102 datas]$ ./HelloWorld.sh HelloWorld (3)绝对路径: [atguigu@hadoop102 datas]$ /home/atguigu/datas/HelloWorld.sh HelloWorld
注意:第一,二种执行方法,本质是bash解析器帮你执行脚本,所以脚本本身不需要执行权限。第三种执行方法,本质是脚本需要自己执行,所以需要执行权限。
2.4 多命令处理
(1)需求: 在/home/atguigu/目录下创建一个xiongmao.txt,在xiongmao.txt文件中增加“ love banbu”。
(2)案例实操:
[atguigu@hadoop102 datas]$ touch batch.sh
[atguigu@hadoop102 datas]$ vi batch.sh
输入:
#!/bin/bash
cd /home/atguigu
touch xiongmao.txt
echo "love banbu" >>xiongmao.txt
-------------
ESC +: + wq 保存退出
[atguigu@hadoop102 datas]$ sh batch.sh
结果:
[atguigu@hadoop102 ~]$ cat xiongmao.txt
love banbu