shell 脚本中的导出命令

shell 脚本中的导出命令

当我在命令提示符下使用 export 命令时,它按预期工作。但它在 shell 脚本中不起作用。

[root@server shantanu]# export myip=10
[root@server shantanu]# echo $myip
10
[root@server shantanu]# vi myip.sh
#!/bin/sh
export myipadd=10

[root@server shantanu]# sh -xv myip.sh
#!/bin/sh
export myipadd=10
+ export myipadd=10
+ myipadd=10

[root@server shantanu]# echo $myipadd

我希望下次运行同一个脚本时,该变量可用。换句话说,我正在寻找某种方法来记住变量值。

答案1

从命令行执行export命令使环境变量仅在当前会话中生效。将其添加到您的 shell 启动文件中以永久生效。

例如,使用 bash:

echo "export myipadd=10" >> ~/.bash_profile (for only root)
echo "export myipadd=10" >> /etc/profile (for all users)

答案2

如果您需要在 shell 脚本中导出变量并使其可供其他脚本使用,则需要使用该source命令。

$ cat test.sh
export MY_VAR="hello"
$ source test.sh
$ echo $MY_VAR
hello

相关内容