gpt4 book ai didi

linux - 关于shell变量和环境变量

转载 作者:太空狗 更新时间:2023-10-29 11:33:27 27 4
gpt4 key购买 nike

我正在阅读 Wrox,开始 Linux 编程。但是我有一个关于 shell 变量的问题。

这是一个名为 test.sh 的 shell 脚本:

#! /bin/bash
read test
echo $test
exit 0

然后我修改脚本:

$ chmod +x test.sh
$ ./test,sh

当我输入“ok”时,它会回显“ok”。

但是当我回到shell界面时,我输入:

$ echo $test

它什么也没返回...

我不知道为什么 $test 不像脚本那样返回“ok”...这本书没有提到它......

提前致谢:)

最佳答案

变量只存在于创建它们的进程中(如果它们被导出,也存在于子进程中)。运行脚本会创建一个新进程,脚本结束后,其所有变量都将丢失。

您可以通过“获取”它来运行脚本而无需启动新进程:

. ./test.sh

不过,您应该删除 exit,否则它会退出您当前的 shell。

关于linux - 关于shell变量和环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14643882/

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