在Ubuntu中点斜杠和点空格点斜杠执行脚本之间的区别
2018-01-06 21:58
447 查看
转自:http://blog.csdn.net/a1285398438/article/details/17360207
原来除了sh 和./执行脚本方式不同外,.(和source一样)和./执行脚本也是不一样的!下面转载了一篇博文
点斜杠执行脚本是启动了另一个Shell去执行脚本(另一个进程),所以点斜杠执行脚本时,设置的环境变量会
随着进程的退出而结束,其中的环境变量设置对当前Shell不起作用。
点空格点斜杠执行脚本,是相当于source ./执行脚本,source是执行脚本当中的命令,也就是说在当前进程中
执行命令,所以其中的环境变量的设置会对当前Shell其作用。
例如: 如下test.sh脚本(Ubuntu默认Shell为dash)
export Hello="Hello World"
(1) 执行命令:
$ ./test.sh
$ echo $Hello
执行结果: (空)
所以设置此环境变量,没有对当前Shell起作用。
(2) 执行命令:
$ . ./test.sh 或 . test.sh 或 source test
$ echo $Hello
执行结果: Hello World
对当前Shell设置此环境变量。
原来除了sh 和./执行脚本方式不同外,.(和source一样)和./执行脚本也是不一样的!下面转载了一篇博文
点斜杠执行脚本是启动了另一个Shell去执行脚本(另一个进程),所以点斜杠执行脚本时,设置的环境变量会
随着进程的退出而结束,其中的环境变量设置对当前Shell不起作用。
点空格点斜杠执行脚本,是相当于source ./执行脚本,source是执行脚本当中的命令,也就是说在当前进程中
执行命令,所以其中的环境变量的设置会对当前Shell其作用。
例如: 如下test.sh脚本(Ubuntu默认Shell为dash)
export Hello="Hello World"
(1) 执行命令:
$ ./test.sh
$ echo $Hello
执行结果: (空)
所以设置此环境变量,没有对当前Shell起作用。
(2) 执行命令:
$ . ./test.sh 或 . test.sh 或 source test
$ echo $Hello
执行结果: Hello World
对当前Shell设置此环境变量。
相关文章推荐
- 在Ubuntu中点斜杠和点空格点斜杠执行脚本之间的区别
- 在Linux中点斜杠(./)和点空格点斜杠(. ./)执行脚本之间的区别
- ./(点斜杠)与. (点空格)执行脚本文件的区别
- ./(点斜杠)与. (点空格)执行脚本文件的区别
- ubuntu(linux)下source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别
- 多种shell脚本执行方式之间的区别
- ubuntu(linux)下 source、sh、bash、./ 执行脚本的区别是什么?
- ubuntu下source、sh、bash、./执行脚本的区别
- centos中source命令执行脚本和用sh执行脚本之间的区别
- ubuntu下source、sh、bash、./执行脚本的区别详细介绍
- ubuntu下source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别详细介绍
- ubuntu下source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别详细介绍