| setenv(3) | Library Functions Manual | setenv(3) |
الاسم¶
setenv - تغيير أو إضافة متغير بيئة
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
موجز¶
#include <stdlib.h>
int setenv(const char *name, const char *value, int overwrite); int unsetenv(const char *name);
setenv()، unsetenv():
_POSIX_C_SOURCE >= 200112L
|| /* glibc <= 2.19: */ _BSD_SOURCE
الوصف¶
تضيف الدالة setenv() المتغير name إلى البيئة بالقيمة value، إذا لم يكن name موجودًا بالفعل. إذا كان name موجودًا في البيئة، فتُغيّر قيمته إلى value إذا كان overwrite غير صفري؛ إذا كان overwrite صفريًا، فلا تُغيّر قيمة name (وتُرجع setenv() حالة نجاح). تُنشئ هذه الدالة نسخًا من السلاسل المحارف المشار إليها بواسطة name وvalue (على عكس putenv(3)).
تحذف الدالة unsetenv() المتغير name من البيئة. إذا لم يكن name موجودًا في البيئة، فتنجح الدالة، وتبقى البيئة دون تغيير.
قيمة الإرجاع¶
تُرجع الدالتان setenv() وunsetenv() صفرًا عند النجاح، أو -1 عند الخطأ، مع ضبط errno للإشارة إلى الخطأ.
الأخطاء¶
السمات¶
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
| الواجهة | السمة | القيمة |
| setenv(), unsetenv() | سلامة الخيوط | MT-Unsafe const:env |
المعايير¶
POSIX.1-2008.
التاريخ¶
POSIX.1-2001، 4.3BSD.
قبل glibc 2.2.2، كان النموذج الأولي لـ unsetenv() يُرجع void؛ تتبع إصدارات glibc الأحدث النموذج الأولي المتوافق مع POSIX.1 الموضح في الملخص.
تحذيرات¶
لا يتطلب POSIX.1 أن تكون setenv() أو unsetenv() قابلة لإعادة الدخول.
العلل¶
يحدد POSIX.1 أنه إذا احتوى name على حرف '='، فيجب أن تفشل setenv() مع الخطأ EINVAL؛ ومع ذلك، سمحت إصدارات glibc قبل glibc 2.3.4 بعلامة '=' في name.
انظر أيضًا¶
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 8 فبراير 2026 | صفحات دليل لينكس 6.18 |