Pat*_*ryk 0 shell bash shell-script environment-variables
可能的重复:
如何在 bash 脚本中“导出”变量?
我在从文件执行脚本时遇到问题。当我输入命令行时
PATH=$PATH:/home/
然后PATH适当更改。但是当我执行这个文件时:
#!/bin/sh
#provided by me
PATH=$PATH:/home/
echo "done"
exit 0
Run Code Online (Sandbox Code Playgroud)
done已打印但未PATH更改。为什么会这样?
环境变量更改适用于当前进程和任何后续子进程,但不适用于父进程。所以如果你运行一个脚本,它不会影响运行它的 shell 的环境变量。您需要source使用.内置的shell来编写脚本。IE
. /path/to/script
Run Code Online (Sandbox Code Playgroud)
这会导致当前 shell 执行文件中的命令,而不是运行子进程。
| 归档时间: |
|
| 查看次数: |
1605 次 |
| 最近记录: |