shell是'source` POSIX标准吗?

bk.*_*bk. 18 unix shell posix

我花了一些时间搜索的外壳POSIX标准source.命令,我在这一点上相信,他们只是没有在那里.

有没有不支持的贝壳.?什么是在当前环境中执行shell脚本的POSIX标准方法(即,不生成子shell,所以如果脚本说export VAR=value然后VAR存在于调用shell中)?

我可能会遗漏一些明显的东西,但事实证明这.对谷歌来说并不容易......

Nem*_*emo 17

它在"点"下面.

名称

dot - 在当前环境中执行命令

概要

.文件

[等等.]

  • 是的,`.`命令是标准的.但请注意,bash和其他一些现代shell中可用的`source`别名是*不是POSIX的一部分. (3认同)

Fre*_*Foo 16

.标准化(POSIX 2004年,2008年).

source是非标准的,特别是不受支持ash,dashpdksh(因此可能不是原来的Korn Shell).也就是说,这是一个巴斯主义.

  • C shell使用`source`而不是Bourne shell使用的`.`.Korn shell使用`.`与Bourne shell兼容.由于原因尚不清楚,它被导入了`bash`,但它让C shell移民感到宾至如归,并且比`.` [dot]更容易索引(http://pubs.opengroup.org/onlinepubs/9699919799 /utilities/V3_chap02.html#dot). (3认同)