2015-06-25 4 views
0

Где KornShell (ksh) Пользовательские переменные (UDV), хранящиеся на машине AIX (Advanced Interactive eXecutive)?Где Ksh User-Defined Variables, хранящиеся на компьютере UNIX?

команды Примеры:

@:/dir #variable=fooValue 
@:/dir #echo $variable 
fooValue 

Так есть файл на сервере AIX с "fooValue" в тексте? Сохранено ли значение в памяти? Может ли переменная быть вынюхана в любом случае?

+1

Переменные хранятся в ОЗУ оболочки, а не в файловой системе. –

+0

@MarkSetchell У вас есть ссылка (например, URL), в которой говорится об этом. Если так, то это тот ответ, который я искал. – javaPlease42

+1

Нет, у меня его нет. AFAIK - это то, как работают все Unix-оболочки. –

ответ

1

оболочки это работающий процесс с собственным небольшим объемом памяти, который он получает от операционной системы.

Как вы определяете и устанавливаете переменные, оболочка хранит их имена и значения внутри собственной памяти процесса.

Когда процесс оболочки завершается, эта память возвращается в операционную систему, а переменные и их значения теряются.

0

это, конечно, не хранится на диске. Вы можете получить доступ к области памяти, где переменные хранятся с использованием

extern char** environ; 

см man 5 environ.

Но менее вышестоящий путь через

char * getenv(char * varname) 

, который возвращает вам значение переменной одного окружения (которая должна быть частью списка environ указателя) См man 3 getenv

Смежные вопросы