iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >如何在 Linux 中运行一个 Shell 脚本
  • 645
分享到

如何在 Linux 中运行一个 Shell 脚本

2023-06-15 15:06:53 645人浏览 泡泡鱼
摘要

本篇内容介绍了“如何在 linux 中运行一个 shell 脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在 Linux 中有两种运行

本篇内容介绍了“如何在 linux 中运行一个 shell 脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在 Linux 中有两种运行 shell 脚本的方法。你可以使用:

bash script.sh

或者,你可以像这样执行 shell 脚本:

./script.sh

这可能很简单,但没太多解释。不要担心,我将使用示例来进行必要的解释,以便你能理解为什么在运行一个 shell 脚本时要使用给定的特定语法格式。

我将使用这一行 shell 脚本来使需要解释的事情变地尽可能简单:

abhishek@itsfoss:~/Scripts$ cat hello.sh echo "Hello World!"

方法 1:通过将文件作为参数传递给 shell 以运行 shell 脚本

第一种方法涉及将脚本文件的名称作为参数传递给 shell 。

考虑到 bash 是默认 shell,你可以像这样运行一个脚本:

bash hello.sh

你知道这种方法的优点吗?你的脚本不需要执行权限。对于简单的任务非常方便快速。

如何在 Linux 中运行一个 Shell 脚本

在 Linux 中运行一个 Shell 脚本

如果你还不熟悉,我建议你 阅读我的 Linux 文件权限详细指南 。

记住,将其作为参数传递的需要是一个 shell 脚本。一个 shell 脚本是由命令组成的。如果你使用一个普通的文本文件,它将会抱怨错误的命令。

如何在 Linux 中运行一个 Shell 脚本

运行一个文本文件为脚本

在这种方法中,你要明确地具体指定你想使用 bash 作为脚本的解释器 。

shell 只是一个程序,并且 bash 只是 Shell 的一种实现。还有其它的 shell 程序,像 ksh 、zsh 等等。如果你安装有其它的 shell ,你也可以使用它们来代替 bash 。

例如,我已安装了 zsh ,并使用它来运行相同的脚本:

如何在 Linux 中运行一个 Shell 脚本

使用 Zsh 来执行 Shell 脚本

方法 2:通过具体指定 shell 脚本的路径来执行脚本

另外一种运行一个 shell 脚本的方法是通过提供它的路径。但是要这样做之前,你的文件必须是可执行的。否则,当你尝试执行脚本时,你将会得到 “权限被拒绝” 的错误。

因此,你首先需要确保你的脚本有可执行权限。你可以 使用 chmod 命令 来给予你自己脚本的这种权限,像这样:

chmod u+x script.sh

使你的脚本是可执行之后,你只需输入文件的名称及其绝对路径或相对路径。大多数情况下,你都在同一个目录中,因此你可以像这样使用它:

./script.sh

如果你与你的脚本不在同一个目录中,你可以具体指定脚本的绝对路径或相对路径:

如何在 Linux 中运行一个 Shell 脚本

在其它的目录中运行 Shell 脚本

在脚本前的这个 ./ 是非常重要的(当你与脚本在同一个目录中)。

如何在 Linux 中运行一个 Shell 脚本

为什么当你在同一个目录下,却不能使用脚本名称?这是因为你的 Linux 系统会在 PATH 环境变量中指定的几个目录中查找可执行的文件来运行。

这里是我的系统的 PATH 环境变量的值:

abhishek@itsfoss:~$ echo $PATH/home/abhishek/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

这意味着在下面目录中具有可执行权限的任意文件都可以在系统的任何位置运行:

  • /home/abhishek/.local/bin

  • /usr/local/sbin

  • /usr/local/bin

  • /usr/sbin

  • /usr/bin

  • /sbin

  • /bin

  • /usr/games

  • /usr/local/games

  • /snap/bin

Linux 命令(像 lscat 等)的二进制文件或可执行文件都位于这些目录中的其中一个。这就是为什么你可以在你系统的任何位置通过使用命令的名称来运作这些命令的原因。看看,ls 命令就是位于 /usr/bin 目录中。

如何在 Linux 中运行一个 Shell 脚本

当你使用脚本而不具体指定其绝对路径或相对路径时,系统将不能在 PATH 环境变量中找到提及的脚本。

为什么大多数 shell 脚本在其头部包含 #! /bin/bash ?

记得我提过 shell 只是一个程序,并且有 shell 程序的不同实现。

当你使用 #! /bin/bash 时,你是具体指定 bash 作为解释器来运行脚本。如果你不这样做,并且以 ./script.sh 的方式运行一个脚本,它通常会在你正在运行的 shell 中运行。

有问题吗?可能会有。看看,大多数的 shell 语法是大多数种类的 shell 中通用的,但是有一些语法可能会有所不同。

例如,在 bash 和 zsh 中数组的行为是不同的。在 zsh 中,数组索引是从 1 开始的,而不是从 0 开始。


如何在 Linux 中运行一个 Shell 脚本

Bash Vs Zsh

使用 #! /bin/bash 来标识该脚本是 bash 脚本,并且应该使用 bash 作为脚本的解释器来运行,而不受在系统上正在使用的 shell 的影响。如果你使用 zsh 的特殊语法,你可以通过在脚本的第一行添加 #! /bin/zsh 的方式来标识其是 zsh 脚本。

在 #! 和 /bin/bash 之间的空格是没有影响的。你也可以使用 #!/bin/bash 。

“如何在 Linux 中运行一个 Shell 脚本”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何在 Linux 中运行一个 Shell 脚本

本文链接: https://www.lsjlt.com/news/280716.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 如何在 Linux 中运行一个 Shell 脚本
    本篇内容介绍了“如何在 Linux 中运行一个 Shell 脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在 Linux 中有两种运行 ...
    99+
    2023-06-15
  • linux如何运行shell脚本
    要运行一个Shell脚本,可以使用以下方法:1. 在终端中直接键入脚本的路径和名称,例如:```/path/to/script.sh...
    99+
    2023-08-30
    linux shell
  • 如何在Shell脚本中调用另一个脚本
    如何在Shell脚本中调用另一个脚本?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。假如有脚本 first.sh:#!/bin/bash#------------------...
    99+
    2023-06-09
  • 如何在Linux中运行JavaScript脚本?
    在Linux系统中,JavaScript脚本可以通过多种方式运行,包括使用Node.js、Rhino、SpiderMonkey等JavaScript解释器。本文将介绍几种在Linux中运行JavaScript脚本的方法。 1. 使用Node...
    99+
    2023-09-10
    javascript shell linux
  • linux如何创建一个shell脚本
    要创建一个shell脚本,您需要编写一个文本文件,并为其添加一些特定的标记。下面是创建一个简单的shell脚本的步骤:1. 打开一个...
    99+
    2023-09-29
    Linux shell
  • 如何在 Linux 命令行中运行 Python 脚本?
    Python 是一种高级编程语言,被广泛应用于数据科学、机器学习、Web 开发等领域。在 Linux 操作系统中,Python 是一个默认安装的解释器,用户可以通过命令行界面(CLI)来运行 Pyth...
    99+
    2023-09-02
    python linux 开发语言
  • 如何在shell中运行Python脚本并记录日志?
    在现代软件开发中,Python 已经成为了不可或缺的工具。而 shell 脚本也是我们日常工作中经常使用的工具。在一些场景下,我们需要在 shell 脚本中调用 Python 脚本,并且需要记录 Python 脚本的日志。本文将介绍如何在...
    99+
    2023-10-27
    path 日志 shell
  • 如何在shell中运行Python脚本并记录路径?
    在日常的开发工作中,我们常常需要通过Shell脚本来调用Python脚本完成一些任务,但是如果不记录Python脚本的路径,我们就需要手动输入脚本路径,这样就会造成一些不必要的麻烦。那么,如何在Shell中运行Python脚本并记录路径呢...
    99+
    2023-10-27
    path 日志 shell
  • Linux shell:脚本判断进程是否在运行
    一.命令说明 ps aux | grep 进程名 | grep -v grep :进程存在则输出信息,不存在则没输出 ps -ef | grep 进程名 | grep -v grep | wc -l ...
    99+
    2023-10-05
    linux 服务器 运维
  • Linux 查询正在运行的shell脚本命令
    查看当前运行的所有进程。 ps -A 如果太多了找不到,看的眼花,可以加条件 grep是分组 查看正在运行的shell脚本的进程shell脚本就是 sh ps -ef |grep  sh 如图下面就是查询出来的所有sh脚本,看第...
    99+
    2023-09-03
    linux 运维 服务器
  • 怎么在Shell脚本中调用另一个脚本
    这期内容当中小编将会给大家带来有关怎么在Shell脚本中调用另一个脚本,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。forkfork 是最普通的, 就是直接在脚本里面用 path/to/foo.sh 来调...
    99+
    2023-06-09
  • 在 PHP 中运行 Shell 脚本并打开 Shell 文件
    PHP 允许我们使用 shell_exec(); 处理 shell 文件的函数。然而,如果你的操作系统是 Windows,你应该考虑使用 popen() 和 pclose() 函数,因为管道是在文本模...
    99+
    2023-10-12
    php ssh
  • linux如何运行bash脚本
    要在Linux上运行bash脚本,可以按照以下步骤进行操作:1. 创建一个新的文件,将其命名为脚本文件,以`.sh`作为文件扩展名。...
    99+
    2023-09-22
    linux
  • PHP 学习笔记:如何在 UNIX Shell 中运行 PHP 脚本?
    PHP 是一种广泛使用的服务器端脚本语言,它可以用来编写动态网页、命令行脚本等。在 UNIX 系统中,我们可以使用 Shell 来运行 PHP 脚本,本文将介绍如何在 UNIX Shell 中运行 PHP 脚本。 安装 PHP 在开始...
    99+
    2023-08-07
    学习笔记 unix shell
  • 在golang程序中运行交互式shell脚本
    学习知识要善于思考,思考,再思考!今天编程网小编就给大家带来《在golang程序中运行交互式shell脚本》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我...
    99+
    2024-04-05
  • 如何实现Linux Shell脚本数学运算
    本篇内容介绍了“如何实现Linux Shell脚本数学运算”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在任何一种编程语言中,算术运算都是必...
    99+
    2023-06-09
  • 如何使用Java编写Shell脚本并在Unix系统中运行?
    Java 是一种广泛使用的编程语言,而 Shell 脚本则是 Unix 系统中常见的一种脚本语言。使用 Java 编写 Shell 脚本可以结合两者的优势,使得脚本更加易读、易维护和易扩展。在本文中,我们将介绍如何使用 Java 编写 Sh...
    99+
    2023-09-12
    shell unix 学习笔记
  • Linux中Shell脚本执行超时如何解决
    这期内容当中小编将会给大家带来有关Linux中Shell脚本执行超时如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在shell里会有一种不太常见的情况,就是脚本有时候会出现超时的现象。一般来说遇到...
    99+
    2023-06-16
  • linux如何运行sh脚本命令
    在Linux中运行sh脚本命令有以下几种方法:1. 使用sh命令运行脚本:在终端中输入`sh 脚本文件名.sh`,即可运行sh脚本。...
    99+
    2023-09-17
    linux
  • Shell脚本如何在Apache服务器上存储和运行?
    Apache服务器是一款被广泛使用的Web服务器软件,而Shell脚本则是一种可以在Unix/Linux操作系统上运行的脚本语言。在Apache服务器上存储和运行Shell脚本可以帮助我们实现自动化运维,提高工作效率。本文将介绍如何在Ap...
    99+
    2023-10-17
    存储 shell apache
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作