首页 > 自考资讯 > 自考知识

shell实例讲解,shell示例

头条共创 2024-07-05

一、Shell脚本建立

1. 什么是shell

shell 是一种命令解释器,它在操作系统的最外层直接与用户交互,解释用户对操作系统的输入,并处理和打印操作系统输出。为用户显示在屏幕上。该对话可以是交互式的或非交互式的(脚本化的)。

2. 什么是Shell脚本

当通过程序文件而不是从命令行执行Linux 命令或语句时,该程序称为shell 脚本。用户在shell 脚本中编写一系列命令语句的组合。这些命令、变量和流程控制语句有机地组合在一起,形成功能强大的shell脚本。

3. Shell脚本的建立

在Linux 上,shell 脚本通常在编辑器(vi/vim) 中编写。脚本的第一行指示哪个解释器应该执行脚本的内容,如下所示:

#!/bin/bash##网络启动/停止网络#.脚本开头的“#!”表示运行bash脚本时内核将使用“”后面的解释器。 #!' 确定使用哪个解释器来解释脚本的内容。请注意,该行必须是第一行。此外,您可能会在脚本的第一行看到“/bin/sh”,这和/bin/bash 有什么区别?

[root@localhost init.d]# ll /bin/shlrwxrwxrwx.1 root root 4 Oct 1 14:27 /bin/sh - bash 可以看到/bin/sh 是/bin/bash 的软链接。没有区别。然而,在典型的系统上,内置shell脚本使用/bin/bash,而用户定义的shell脚本通常指定/bin/sh。如果脚本没有指定解释器(省略第一行),则使用系统默认的解释器bash,但最好编写自己的解释器以适合您的规范。 另外,“#”用于shell 内的注释。解释器不会执行“#”之后的任何内容。这对于开发人员参考功能描述很有用。它可以是单行,也可以稍后写入脚本中。

2. 规范

为避免出现乱码脚本,请务必在指定脚本解释器脚本的开头使用英文注释。使用.sh作为扩展名,写成对()、[]等,两边有空格。 []内内容的流程控制使用迭代语句一次写出完整的结构,然后写出中间内容。

二、Shell脚本执行

非交互运行shell脚本时,环境变量ENV首先指定一个环境文件(.bashrc、bash_profile、/etc/profile等),读取ENV文件后,shell开始返回来自环境变量文件的字形。执行shell 脚本的内容。 Shell 脚本通常以三种方式执行:

bash test.sh 或sh test.sh ./test.sh (在当前路径运行脚本) source test.sh 或. 第一种方法常用于脚本文件本身没有执行权限的情况。使用。我们建议使用bash 来运行它。第二种方法需要更改脚本文件的权限(chmod u+x test.sh)。然后,您可以使用脚本路径运行脚本。如果使用source或“.”加载sehll脚本文件,此方法可以将脚本中的变量或函数导出到当前环境并调用它们。

# 要获取脚本内部的变量,可以使用source或'.',但使用其他两种方法# 脚本运行后无法获取变量[root@localhost project] # echo 'user=`whoami` test. sh[root@localhost project]# . test.sh [root@localhost project]# echo $userroot 但是使用其他两种执行方式则没有这样的效果。

# 输出为空[root@localhost project]# echo 'user=`whoami`' test.sh[root@localhost project]# /bin/sh test.sh [root@localhost project]# echo $user.

版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。

猜你喜欢