LinuxShell——认识Shell脚本

LinuxShell——认识Shell脚本

摘要:本文主要介绍了Shell脚本的一些基本知识。

什么是Shell脚本

shell脚本是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,达到所想要的处理目的。

shell脚本就像早期dos年代的.bat,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令,而shell脚本更是提供了数组、循环、条件以及逻辑判断等重要功能,让使用者可以直接以shell来写程序。

基本结构

#!/bin/bash

这句话的作用是标明我以下写的脚本使用的是BASH语法,只要写的是基于BASH的Shell脚本都应该这样开头。

在Linux中默认的Shell环境就是BASH,所以在Linux里面不加这一句也可以运行。如果把脚本放在默认环境不是BASH的环境中运行,又或者编写脚本的不是纯BASH语言,而是嵌入了其他语言,那么这个脚本就不能正确执行了。所以Shell脚本都必须以“#!/bin/bash”开头。

注释

在Shell脚本中,除“#!/bin/bash”这行外,其他行只要以“#”开头的都是注释。

程序的主体

Linux的命令可以直接在脚本中执行。

执行脚本

赋予执行权限,直接运行

这种方法是最常用的Shell脚本运行方法,也最为直接简单。就是赋予执行权限之后,直接运行。当然,运行时可以使用绝对路径,也可以使用相对路径。

如果将shell.sh放在PATH指定的目录内,这样就可以像Linux系统命令一样,不用指定路径直接运行了。

赋予执行权限:

1 [root@localhost sh]# chmod 755 shell.sh

使用绝对路径执行:

1 [root@localhost sh]# /root/sh/shell.sh

使用相对路径执行:

1 [root@localhost sh]# ./shell.sh

通过bash命令调用运行脚本

这种方法的意思是直接使用bash或者sh去解释脚本中的内容,所以这个脚本也可以正常运行。使用这种方法运行脚本,甚至不需要脚本文件有“执行”权限,只要拥有“读”权就可以运行了。

因为/bin/sh其实就是/bin/bash的一个链接,使用 sh shell.sh 就是告诉系统想要直接以bash的功能来执行shell.sh。

使用bash命令执行:

1 [root@localhost sh]# bash shell.sh
2 [root@localhost sh]# sh shell.sh

使用source命令执行

source命令或者“.”命令可以读入脚本并执行脚本,即在当前Shell环境中加载并执行的相关脚本文件的命令及语句,而不是产生一个子Shell来执行文件中的命令。

该命令主要用于让重新配置的环境变量配置文件强制生效。

使用source命令执行:

1 [root@localhost sh]# . shell.sh
2 [root@localhost sh]# source shell.sh

猜你喜欢

转载自www.cnblogs.com/shamao/p/11209452.html