摘要:在 Unix 和 Linux 的世界中,shell 脚本是一种强大的工具,可用于任务自动化和系统管理等。通常,我们需要从一个 shell 脚本中调用另一个 shell 脚本。这不仅有助于将复杂的脚本组织成可管理的模块,而且有助于脚本的可重用性和可维护性。
Bash Shell Scripts
在 Unix 和 Linux 的世界中,shell 脚本是一种强大的工具,可用于任务自动化和系统管理等。通常,我们需要从一个 shell 脚本中调用另一个 shell 脚本。这不仅有助于将复杂的脚本组织成可管理的模块,而且有助于脚本的可重用性和可维护性。
最直接的方法是在父脚本中使用它的路径。
假设您有两个脚本:script1.sh 和 script2.sh
#!/bin/bashecho "This is Script 1"script2.sh:
#!/bin/bashecho "Calling Script 1 from Script 2"./script1.shecho "Script 1 has finished execution"在此示例中,script2.sh 调用 script1.sh。两个脚本都在同一目录中,并且 script1.sh 是可执行的。
您还可以将参数从一个脚本传递到另一个脚本。
#!/bin/bashecho "Script 1 received the argument: $1"script2.sh:
#!/bin/bash./script1.sh "Hello from Script 2"在本例中,script2.sh 将字符串 “Hello from Script 2”传递给 script1.sh,在 script1.sh 中作为 $1 (第一个参数) 接收。
另一种方法是使用 source 命令或其简写(..),该方法在当前 shell 环境中执行被调用的脚本,这意味着被调用脚本的任何变量或更改都保留在调用脚本中。
#!/bin/bashMESSAGE="Message from Script 1"script2.sh:
#!/bin/bashsource ./script1.shecho $MESSAGE在本例中,script2.sh 将输出“Message from Script 1”,因为它保留了 script1.sh 所做的环境更改
酷瓜云课堂 - 开源知识付费解决方案
来源:鸠摩智首席音效师
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!