8.1 了解Shell脚本

系列 - LINUX Shell脚本

本实验手册指导学生创建并运行第一个脚本。学生将学习如何创建脚本目录,编写简单的脚本内容,赋予脚本执行权限,并通过四种方法运行脚本:直接运行、使用source命令、使用sh/bash命令解释器和通过重定向给bash。

1、创建一个 scripts 目录用来存放脚本

bash

cd; mkdir  scripts;  cd scripts

2、编写脚本

bash

vim helloworld.sh
技巧
推荐使用 vim 编写 Shell 脚本,因为 vim 有额外的语法检验机制,能够及时发现语法方面的问题。

文件内容为:

bash

#!/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"这条命令会:

  1. 显示"Hello World!"
  2. 发出一声蜂鸣声
  3. 最后换行

我们已经写好的脚本是 /root/scripts/helloworld.sh

先给脚本增加执行权限:

bash

chmod u+x helloworld.sh
ls -l

(1)绝对路径运行

bash

/root/scripts/helloworld.sh

(2)相对路径运行

当前工作目录即为脚本所在的目录:

bash

./helloworld.sh

(3)借助变量 PATH

当前 PATH 变量的位置有:

PATH 变量有 /usr/bin 这个位置,将脚本移动到这里

bash

mv helloworld.sh  /usr/bin/

直接用脚本的文件名执行:

bash

helloworld.sh

使用 source 命令加文件名可以执行脚本文件:

bash

source /usr/bin/helloworld.sh
# 上面这种写法等价于
. /usr/bin/helloworld.sh

注意
这种方式不需要执行权限,也不需要在第一行声明#!/bin/bash
注意
在当前 Shell 环境中执行,会保留脚本中的变量。所以 exit 0 会退出当前 Shell

bash

sh /usr/bin/helloworld.sh
# 等价于
bash /usr/bin/helloworld.sh

这种方法不常用!

bash

bash <  /usr/bin/helloworld.sh

1、在 scripts 目录中创建脚本文件:sysinfo.sh

文件内容如下:

2、给文件增加执行权限 3、执行该脚本并提交运行结果(截图和文字都提交)

相关内容