gpt4 book ai didi

unix - 为什么使用圆点执行配置文件?

转载 作者:行者123 更新时间:2023-12-04 13:21:05 24 4
gpt4 key购买 nike

我是Linux的新手。在下面的命令中,为什么我需要使用一个点来执行配置文件?

. ~/.profile

最佳答案

如Noufal所述,.source的别名。

通过获取文件,所有命令都将在当前bash session 的上下文中执行,这意味着它导出的所有环境变量现在将对您可用。

如果运行脚本而不是源脚本,它将在子 shell 中执行,并且导出的变量不会传递到 session 中。实际上,这几乎破坏了.profile的目的。

作为演示,假设您有文件test.sh:

#!/bin/bash
# in test.sh
print "exporting HELLO"
export HELLO="my name is Paul"

如果执行它:
[me@home]$ bash test.sh
exporting HELLO
[me@home]$ echo $HELLO

由于在当前 session 中未定义 $HELLO,因此没有任何输出。但是,如果您提供它:
[me@home]$ . test.sh
exporting HELLO
[me@home]$ echo $HELLO
my name is Paul

然后 $HELLO将在您当前的 session 中可用。

关于unix - 为什么使用圆点执行配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5030090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com