8.1 了解Shell脚本

系列 - LINUX Shell脚本
目录
本实验手册指导学生创建并运行第一个脚本。学生将学习如何创建脚本目录,编写简单的脚本内容,赋予脚本执行权限,并通过四种方法运行脚本:直接运行、使用source命令、使用sh/bash命令解释器和通过重定向给bash。
任务一:编写第一个脚本
Step 1 编写脚本
1、创建一个 scripts 目录用来存放脚本
cd; mkdir scripts; cd scripts
2、编写脚本
vim helloworld.sh
技巧
推荐使用 vim 编写 Shell 脚本,因为 vim 有额外的语法检验机制,能够及时发现语法方面的问题。
文件内容为:
#!/bin/bash
# Program: helloworld.sh
# Purpose: This program shows "Hello World!" in your screen.
# Author: 张三
# Email: [email protected]
#
# Version: 1.0.0
# History:
# 2018/08/23 张三 First release
echo -e "Hello World! \a \n"
exit 0
笔记
echo
用于在屏幕上显示文本的命令
-e
一个重要选项,表示"启用转义字符的解释"
\a
警告声音(蜂鸣声)
\n
换行符
所以echo -e "Hello World! \a \n"
这条命令会:
- 显示"Hello World!"
- 发出一声蜂鸣声
- 最后换行
Step 2 运行脚本
我们已经写好的脚本是 /root/scripts/helloworld.sh
方法一:直接运行
先给脚本增加执行权限:
chmod u+x helloworld.sh
ls -l
(1)绝对路径运行
/root/scripts/helloworld.sh
(2)相对路径运行
当前工作目录即为脚本所在的目录:
./helloworld.sh
(3)借助变量 PATH
当前 PATH
变量的位置有:
PATH
变量有 /usr/bin
这个位置,将脚本移动到这里
mv helloworld.sh /usr/bin/
直接用脚本的文件名执行:
helloworld.sh
方法二:source 命令
使用 source
命令加文件名可以执行脚本文件:
source /usr/bin/helloworld.sh
# 上面这种写法等价于
. /usr/bin/helloworld.sh
注意
这种方式不需要执行权限,也不需要在第一行声明
#!/bin/bash
注意
在当前 Shell 环境中执行,会保留脚本中的变量。所以
exit 0
会退出当前 Shell方法三:使用 sh/bash 命令解释器
sh /usr/bin/helloworld.sh
# 等价于
bash /usr/bin/helloworld.sh
方法四:通过重定向给 bash
这种方法不常用!
bash < /usr/bin/helloworld.sh
作业
1、在 scripts
目录中创建脚本文件:sysinfo.sh
文件内容如下:
2、给文件增加执行权限 3、执行该脚本并提交运行结果(截图和文字都提交)