system-programming:getenv-setenv
تفاوتها
تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده میکنید.
| system-programming:getenv-setenv [2024/04/19 18:02] – ایجاد شد pejman | system-programming:getenv-setenv [2024/06/18 01:23] (فعلی) – حذف شد pejman | ||
|---|---|---|---|
| خط 1: | خط 1: | ||
| - | ====== تابع ()getenv و ()setenv - خواندن و نوشتن متغیر های محلی ====== | ||
| - | |||
| - | ---- | ||
| - | ==== تابع ()getenv ==== | ||
| - | |||
| - | <code C> | ||
| - | // man 1 env | ||
| - | |||
| - | // man 3 getenv | ||
| - | /* getenv() returns a pointer to the value in the environment, | ||
| - | #include < | ||
| - | char *getenv(const char *name); | ||
| - | </ | ||
| - | |||
| - | <code C> | ||
| - | /* env-var.c */ | ||
| - | #include < | ||
| - | #include < | ||
| - | #include < | ||
| - | |||
| - | int main(void) | ||
| - | { | ||
| - | /* Using getenv() to fetch env. variables */ | ||
| - | | ||
| - | | ||
| - | getenv(" | ||
| - | | ||
| - | getenv(" | ||
| - | | ||
| - | |||
| - | /* Check if the current terminal support colors*/ | ||
| - | if ( strstr(getenv(" | ||
| - | { | ||
| - | /* Color the output with \033 + colorcode */ | ||
| - | printf(" | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | else | ||
| - | { | ||
| - | printf(" | ||
| - | " | ||
| - | } | ||
| - | | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | $ make env-var | ||
| - | cc | ||
| - | |||
| - | $ ./env-var | ||
| - | Your username is pejman | ||
| - | Your home directory is / | ||
| - | Your preferred editor is (null) | ||
| - | Your shell is /bin/bash | ||
| - | Your terminal support colors | ||
| - | |||
| - | $ echo $USER | ||
| - | pejman | ||
| - | |||
| - | $ echo $HOME | ||
| - | / | ||
| - | |||
| - | $ echo $EDITOR | ||
| - | |||
| - | $ echo $SHELL | ||
| - | /bin/bash | ||
| - | |||
| - | $ echo $TERM | ||
| - | xterm-256color | ||
| - | |||
| - | $ export TERM=xterm | ||
| - | | ||
| - | $ ./env-var | ||
| - | Your username is pejman | ||
| - | Your home directory is / | ||
| - | Your preferred editor is (null) | ||
| - | Your shell is /bin/bash | ||
| - | Your terminal doesn' | ||
| - | | ||
| - | $ export TERM=xterm-256color | ||
| - | |||
| - | $ echo $TERM | ||
| - | xterm-256color | ||
| - | | ||
| - | $ TERM=xterm ./env-var | ||
| - | Your username is pejman | ||
| - | Your home directory is / | ||
| - | Your preferred editor is (null) | ||
| - | Your shell is /bin/bash | ||
| - | Your terminal doesn' | ||
| - | | ||
| - | $ echo $TERM | ||
| - | xterm-256color | ||
| - | |||
| - | ---- | ||
| - | ==== تابع ()setenv ==== | ||
| - | |||
| - | <code C> | ||
| - | // man 3 setenv | ||
| - | /* The setenv() | ||
| - | * if variable exists and overwrite is zero, then the value of name is not changed. | ||
| - | */ | ||
| - | #include < | ||
| - | int setenv(const char *name, const char *value, int overwrite); | ||
| - | </ | ||
| - | |||
| - | <code C> | ||
| - | /* env-var-set.c */ | ||
| - | #define _POSIX_C_SOURCE 200112L | ||
| - | #include < | ||
| - | #include < | ||
| - | |||
| - | int main(void) | ||
| - | { | ||
| - | setenv(" | ||
| - | printf(" | ||
| - | return 0; | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | $ make env-var-set | ||
| - | cc | ||
| - | |||
| - | $ ./ | ||
| - | Your full name is Jack-Benny | ||
| - | | ||
| - | $ echo $FULLNAME | ||
system-programming/getenv-setenv.1713537179.txt.gz · آخرین ویرایش: 2024/04/19 18:02 توسط pejman
