shell脚本样本_Shell脚本格式及运行方式详解

"本文介绍了Shell脚本的基础知识,包括如何编写第一个“Hello World!”程序,解释了脚本的基本结构,如"#!/bin/bash"的重要性以及注释的使用。文章还详细说明了如何在Linux中运行Shell脚本,提供了赋予执行权限直接运行和通过Bash调用运行两种方法,并强调了良好的编程规范,如添加注释。"
摘要由CSDN通过智能技术生成

做什么事情都会有第一次,我们学习语言的第一次就是写著名的"Hello world!"程序。命令如下:

[root@localhost ~]# mkdir sh

[root@localhost ~]# cd sh

#建立Shell练习目录

[root@localhost sh]#vi hello.sh

#The first program

#!/bin/bash

echo -e "c.biancheng.net"

大家发现了吗?在 Shell 脚本中是可以直接使用 echo 命令的。其实不止 echo 命令,所有的 Linux 命令都可以直接在 Shell 脚本中调用。这种特性使得 Shell 脚本和 Linux 系统结合得更加紧密,也更加方便了 Shell 脚本的编写。

下面给大家解释一下这个脚本的结构。

Shell的基本结构

第一行"#!/bin/bash"

在 Linux 中,以"#"开头的一般都是注释,不过这句话是例外的。这句话的作用是标称我以下写的脚本使用的是 Bash 语法,只要写的是基于 Bash 的 Shell 脚本都应该这样开头。这就像在 HTML 语言中嵌入 PHP 程序时,PHP 程序必须用?>包含起来。

不过,有一些比较喜欢钻研的人也会有疑问,他们在写 Shell 脚本时,不加"#!/bin/bash"这句话,Shell 脚本也可以正确执行。那是因为我们是在默认 Shell 就是 Bash 的 Linux 中编写的脚本,而且脚本是纯 Bash 脚本才能够正确执行。如果把脚本放在默认环境不是 Bash 的环境中运行,又或者编写脚本的不是纯 Bash 语言,而是嵌入了其他语言(如 Tcl 语言),那么这个脚本就不能 正确执行了。所以,大家记住我们的 Shell 脚本都必须以"#!/bin/bash"开头。

第二行:注释

在 Shell 脚本中,除"#!/bin/bash"这行外,其他行只要以"#"开头的都是注释。第二行就是我们这个脚本的注释,建议大家在写程序时加入清晰而详尽的注释,这些都是建立良好编程规范时应该注意的问题。

第三行:程序的主体

既然 echo 命令可以直接打印"c.biancheng.net",那么将这句话放入 Shell 脚本中也是可以正确执行的,因为 Linux 的命令是可以直接在脚本中执行的。

运行方式

Shell 脚本写好了,那么这个脚本该如何运行呢?在 Linux 中,脚本的运行主要有以下两种方法:

赋予执行权限,直接运行

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

[root@localhost sh]# chmod 755 hello.sh

#赋予执行权限

[root@localhost sh]# /root/sh/hello.sh

c.biancheng.net

#使用绝对路径运行

[root@localhost sh]#./hello.sh

c.biancheng.net

#因为我们已经在/root/sh目录中,所以也可以使用相对路径运行

Shell 脚本是否可以像 Linux 系统命令一样,不用指定路径,直接运行呢?当然是可以的,不过需要进行环境变量的配置。这里大家只需要知道,我们自己写的 Shell 脚本默认是不能运行的,要么使用绝对路径,要么使用相对路径。

通过Bash调用运行脚本

这种方法也非常简单,命令如下:

[root@localhost sh]# bash hello.sh

c.biancheng.net

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

这两种 Shell 脚本的运行方式,大家可以按照个人习惯随意使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值