1.软文推荐

2.软文推荐

3.软文推荐

Linux系统中如何执行Shell脚本?本篇文章为大家分享一下Linux系统执行Shell脚本教程,文中通过具体案例为大家演示了相关操作,有需要的小伙伴可以参考一下。

1)bash script-name或者sh script-name

这是当脚本文件本身没有可执行权限(即文件权限属性x位为-号)时常使用的方法,或者脚本文件开头没有指定解释器时需要使用的方法。推荐使用这种方法。

(2)path/script-name或者./script-name

指在当前路径下执行脚本(脚本需要有执行权限),需要将脚本文件的权限改为可执行(即文件权限属性为x位)。具体方法为:chmod a+x script-name。然后通过执行脚本绝对路径或者相对路径就可以执行脚本了。注意:在生产环境中,运维人员由于忘记为该脚本设置可执行权限,然后直接使用,导致出错。因此,推荐第一种 bash script-name。

(3)source script-name或者. script-name

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

注意:这是和其他几种执行shell方式的最大不同。

举个栗子:

新建一个文件test_sh.sh,不给它赋予任何可执行的权限x。

编辑内容如下:

文件以及文件中内容与常见的shell不同之处在于,这里的文件没有赋予可执行权限以及在文件内容中的首行中没有添加#!/bin/bash。我们现在用上述介绍的几种方式来测试下效果。

第二种方式 ./script-name ,执行效果如下:

报权限拒绝,Permission denied,此时,我们只要更改文件的属性为可执行即可。

执行第一种bash script-name,效果如下:

可以成功执行,输出:hello。但是,我们输入命令:echo $name,发现如下:

name的值是空的。不难理解,bash script-name是产生了一个子进程shell,而我们当前的操作还在父shell中因此得不到该变量值。

执行第三种方法. test_sh.sh,效果如下:

可以成功的输出变量的值。这是因为source script-name和. script-name是将script-name中的内容直接加载到当前的shell,因此能够输出当前变量的值。

刚才第二种方式我们执行失败,现在我们通过chmod a+x script-name,然后再次执行上述命令,查看效果:

注意:该种方式也是产生了一个子进程Shell,因此echo $name仍然找不到该变量。

补充知识点:

一个规范的Shell脚本在第一行会指出由哪个程序(解释器)来执行脚本中的内容,这一行内容在Linux bash的编程一般为:

#!/bin/bash

#!/bin/sh

注意:

(1)在Shell中如果一行的第一个字母是#,则是注释,但是上面两个是写在第一行,所以不是脚本注释行,如果写在某个命令之后,则变成注释行。

(2)sh为bash的软链接,大多数情况下,脚本的开头使用“#!/bin/bash”和“#!/bin/sh”是没有区别的,但更规范的写法是在脚本的开头使用“#!/bin/bash”。

总结

至此关于Linux系统Shell脚本的教程分享结束,大家如果还有相关问题可以通过评论区将问题提交给我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

本文来源:www.lxlinux.net/2096.html,若引用不当,请联系修改。

相关文章 8

1

安卓优化大师360lbe(安卓优化大师app下载) 54秒前

目录:1、手机清理垃圾哪个软件最好2、清理垃圾的手机软件哪一个比较好?3、哪种清理手机软件好?手机清理垃圾哪个软件最好 猎豹清理...

2

分享一下常用的Linux shell 3分钟前

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。是在Linux内核与用户之...

3

五个 htop 替代:增强你的 Linux 系统监控体验 5分钟前

htop 是一个流行的命令行工具,可以帮助监测 Linux 上的系统资源和性能。 它比通常默认开箱即用的 top 好 。 使用 htop ,你可以对进程进行过...

4

电信云主机优势(云主机的优势) 6分钟前

目录:1、求解云主机的优势主要有哪些?免费试用是什么活动?2、中国电信云主机是有什么特点?3、电信云主机是什么意思4、电信云主机...

6

Linux系统下备份分区表和MBR具体方法 10分钟前

本篇文章为大家分享一下Linux系统下 备份分区表和MBR 具体方法, 有需要的小伙伴可以参考一下。 备份分区信息,使用命令: fdisk /dev/hda -l...

7

樊云服务器(樊云vps) 12分钟前

目录:1、云服务器是干什么的2、云服务器是什么3、什么是云服务器?4、云服务器是什么?到底有什么用吗???5、云服务器怎么用云服务器是...

8

Linux终端中使用Netplan连接WiFi 14分钟前

Netplan 抽象网络配置生成器 ,是一个用于配置 Linux 网络的简单工具。 通过 Netplan ,你只需用一个 YAML 文件描述每个网络接口需要配置成啥样...