在 Unix 和 Linux 的世界中,shell 脚本是一种强大的工具,可用于任务自动化和系统管理等。通常,我们需要从一个 shell 脚本中调用另一个 shell 脚本。这不仅有助于将复杂的脚本组织成可管理的模块,而且有助于脚本的可重用性和可维护性。
Basic Method
最直接的方法是在父脚本中使用它的路径。
假设您有两个脚本:script1.sh 和 script2.sh
script1.sh:
#!/bin/bash
echo "This is Script 1"
script2.sh:
#!/bin/bash
echo "Calling Script 1 from Script 2"
./script1.sh
echo "Script 1 has finished execution"
在此示例中,script2.sh 调用 script1.sh。两个脚本都在同一目录中,并且 script1.sh 是可执行的。
Passing Arguments
您还可以将参数从一个脚本传递到另一个脚本。
script1.sh:
#!/bin/bash
echo "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 (第一个参数) 接收。
Using Source Command
另一种方法是使用 source 命令或其简写(..),该方法在当前 shell 环境中执行被调用的脚本,这意味着被调用脚本的任何变量或更改都保留在调用脚本中。
script1.sh:
#!/bin/bash
MESSAGE="Message from Script 1"
script2.sh:
#!/bin/bash
source ./script1.sh
echo $MESSAGE
在本例中,script2.sh 将输出“Message from Script 1”,因为它保留了 script1.sh 所做的环境更改
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。