在AIX(Advanced Interactive eXecutive)机器上存储的KornShell(ksh)用户定义变量(UDV)在哪里?
示例命令:
@:/dir #variable=fooValue
@:/dir #echo $variable
fooValue
AIX服务器上是否有文件中带有“fooValue”的文件?值是存储在内存中的吗?无论如何都可以嗅出变量吗?
答案 0 :(得分:1)
shell是一个正在运行的进程,它有一小部分内存,它由操作系统处理。
在定义和设置变量时,shell会存储它们的名称和值 在自己的进程内存中。
当shell进程退出时,该内存将被释放回操作系统,并且变量及其值将丢失。
答案 1 :(得分:0)
它当然不会存储在磁盘上。您可以使用
访问存储变量的内存区域extern char** environ;
请参阅man 5 environ
。
但是较低级别的方式是通过
char * getenv(char * varname)
返回单个环境变量的值(它应该是environ
指针列表的一部分)请参阅man 3 getenv