在当前shell中从文件执行命令

在当前shell中从文件执行命令

我想在终端的当前 shell 中执行来自文件(即脚本)的命令。

例如:我有一个文件ch_dir包含以下内容:

#!/bin/bash
cd /usr

现在,如果我通常按如下方式执行文件,那么它会执行以下命令不同的外壳

pandya@pandya-desktop:~$ ./ch_dir
pandya@pandya-desktop:~$

这里cd /user是在不同的shell中执行的。

但我想在当前 shell 中执行。我该怎么做?

笔记:这里cd仅用于解释。问题的目的是执行任何当前 shell 中的命令

答案1

使用内置命令source(从help -m source):

source—从当前 shell 中的文件执行命令。

问题中提到的执行示例:

pandya@pandya-desktop:~$ source ch_dir
pandya@pandya-desktop:/usr$ 

您可以在这里cd /usr看到在当前shell中执行因此当前 shell 的目录发生了变化!

希望这将有助于在当前 shell 中执行从文件输入的命令。

答案2

只需像这样运行脚本.

pandya@pandya-desktop:~$ . ./ch_dir

相关内容