我希望在我的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。