我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux系统怎么执行Shell脚本

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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。

Linux系统怎么执行Shell脚本

编辑内容如下:

Linux系统怎么执行Shell脚本

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

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

Linux系统怎么执行Shell脚本

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

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

Linux系统怎么执行Shell脚本

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

Linux系统怎么执行Shell脚本

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

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

Linux系统怎么执行Shell脚本

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

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

Linux系统怎么执行Shell脚本

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

补充知识点:

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

#!/bin/bash

#!/bin/sh

注意:

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

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

以上是“Linux系统怎么执行Shell脚本”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux系统怎么执行Shell脚本

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux系统怎么执行Shell脚本

小编给大家分享一下Linux系统怎么执行Shell脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1)bash script-name或者sh script-n
2023-06-28

linux怎么编写和执行shell脚本

编写和执行Shell脚本的步骤如下:1. 打开一个文本编辑器,比如使用vi或者nano。2. 在第一行添加shebang,指定要使用的Shell解释器。例如,使用Bash解释器,可以添加 #!/bin/bash。3. 在下面的行中编写She
2023-09-22

怎么在Linux中使用shell脚本自动执行脚本文件

本篇文章为大家展示了怎么在Linux中使用shell脚本自动执行脚本文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、定时复制文件  a、在/usr/local/wfjb_web_back目录下
2023-06-09

shell脚本怎么异步并行执行

在shell脚本中,可以使用以下几种方式来实现异步并行执行:1. 后台执行:在命令后面加上`&`,可以将命令放到后台执行。例如:```command1 &command2 &command3 &wait````wait`命令用于等待所有后台
2023-09-22

怎么用命令执行Shell脚本

本篇内容主要讲解“怎么用命令执行Shell脚本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用命令执行Shell脚本”吧!假设这个 shell 脚本的名称为 tinyshell.sh。在 L
2023-06-09

怎么用ansible playbook执行shell脚本

使用Ansible playbook执行shell脚本可以通过以下步骤实现:创建一个YAML文件,作为Ansible playbook的入口点。以下是一个示例的playbook文件:---- name: Execute Shell Scr
2023-10-24

Linux shell脚本的建立与执行

在进行linux测试时编写脚本是必不可少的。最近经常使用Linux,感觉太频繁地敲击键盘有些累了,于是想到了Shell脚本。可以把太多的命令写成一个脚本,这样每次执行一遍 shell文件,就可以省去了敲击键盘的时间。于是在网上搜了一些有关
2022-06-04

怎么使用nohup执行shell脚本

要使用nohup执行shell脚本,可以按照以下步骤操作:1. 打开终端或命令行界面。2. 输入以下命令格式:```nohup sh 脚本文件名.sh &```其中,脚本文件名.sh是要执行的shell脚本的文件名。3. 按下回车键执行命令
2023-09-22

linux中怎么让shell脚本变成可执行文件

这篇文章主要介绍了linux中怎么让shell脚本变成可执行文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。创建bash脚本并使用chmod命令使脚本可执行,无需脚本前面加
2023-06-15

怎么查看shell脚本执行过程

要查看shell脚本的执行过程,可以在脚本中添加一些调试信息或者使用一些工具来帮助查看执行过程。以下是一些常用的方法:添加调试信息:在脚本中可以使用echo命令输出一些调试信息,例如:echo "Starting script..."使用
怎么查看shell脚本执行过程
2024-04-08

Ubuntu中怎么执行shell脚本文件

这期内容当中小编将会给大家带来有关Ubuntu中怎么执行shell脚本文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先,要确保这个文件的类型是可执行的。有两种办法把文件设置为可执行文件。1) 直接在
2023-06-17

怎么在Linux中使用crontab定时执行Shell脚本

今天就跟大家聊聊有关怎么在Linux中使用crontab定时执行Shell脚本,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、crontab执行配置* * * * * cd /项目
2023-06-09

Linux下使用shell脚本自动执行脚本文件

以下实例本人在Centos6.5 64位操作系统中使用 一、定时复制文件a、在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件文件内容:#将tomcat中的应用wfjb_web 复制到 /usr/l
2022-06-04

Shell脚本中怎么执行sql语句

本篇文章为大家展示了Shell脚本中怎么执行sql语句,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、将SQL语句直接嵌入到shell脚本文件中代码如下:--演示环境 [root@SZDB ~]
2023-06-09

Linux系统中怎么使用crontab来定时执行脚本

本篇内容介绍了“Linux系统中怎么使用crontab来定时执行脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!网友突然问道的,想了很久,
2023-06-13

Linux操作系统脚本格式问题导致脚本无法执行怎么办

Linux操作系统脚本格式问题导致脚本无法执行怎么办,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 最近,在做一个mysql的mgr+proxysql的集
2023-06-04

Shell脚本中怎么避免重复执行

这篇文章给大家介绍Shell脚本中怎么避免重复执行,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:# 检查通过sh命令执行的shell脚本是不是还在执行当中,避免重复执行. # 把这段代码放在需要保证唯一性的程
2023-06-09

Linux怎么批量执行redis脚本

要批量执行redis脚本,你可以使用redis-cli工具和Shell脚本来实现。以下是一个示例的Shell脚本,用于批量执行redis脚本:#!/bin/bash# 读取redis命令脚本文件列表script_files=("scr
2023-10-27

Linux中Shell脚本执行超时如何解决

这期内容当中小编将会给大家带来有关Linux中Shell脚本执行超时如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在shell里会有一种不太常见的情况,就是脚本有时候会出现超时的现象。一般来说遇到
2023-06-16

编程热搜

目录