Shell脚本格式及运行方式详解

Shell脚本格式及运行方式详解,第1张

概述做什么事情都会有第一次,我们学习语言的第一次就是写著名的Hello world!程序。命令如下: [root@localhost ~]# mkdir sh [root@localhost ~]# cd sh #建立Shell练习目录 [root@localhost sh]#vi hello.sh #The fir 做什么事情都会有第一次,我们学习语言的第一次就是写著名的"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 脚本的运行方式,大家可以按照个人习惯随意使用。
总结

以上是内存溢出为你收集整理的Shell脚本格式及运行方式详解全部内容,希望文章能够帮你解决Shell脚本格式及运行方式详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1032768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存