【发布时间】:2012-02-15 18:19:09
【问题描述】:
我想在我的 Fortran 代码中使用 $HOSTNAME 环境变量的值。
我的尝试是:
CHARACTER(LEN=100) :: hostname
INTEGER :: status_value = 0
CALL GET_ENVIRONMENT_VARIABLE("hostname",hostname, STATUS=status_value)
IF (status_value == 2) THEN
WRITE(nout,*) 'WARNING: Processor does not support environment variables - hostname is unknown.'
hostname = 'Unknown'
ELSE IF (status_value == -1) THEN
WRITE(nout,*) 'WARNING: Hostname is too long for character variable - hostname is truncated.'
ELSE IF (status_value == 1) THEN
WRITE(nout,*) 'WARNING: $HOSTNAME environment variable does not exist - hostname is unknown.'
hostname = 'Unknown'
但是我的结果是我总是得到$HOSTNAME不存在的结果。
我对状态值的解释是基于这个: http://gcc.gnu.org/onlinedocs/gfortran/GET_005fENVIRONMENT_005fVARIABLE.html
有趣的是,上面页面中的示例使用了“HOME”环境变量。这个环境变量对我有用。
但我看不出为什么 $HOSTNAME 不应该这样做:
MacBook-Pro:1N45 emiller$ echo $HOSTNAME # My shell prompt
MacBook-Pro.local
发生了什么事?我的 Fortran 程序在运行时会看到什么环境?
不管怎样,我正在使用 iFort 12。
【问题讨论】:
标签: fortran environment-variables hostname