Product SiteDocumentation Site

8.6. محیط پوسته

مفسرهای خط‌فرمان (پوسته‌ها) یکی از اولین راه‌های تعامل کاربر با رایانه هستند و به همین دلیل باید عملکرد ساده و روشنی داشته باشند. بسیاری از آن‌ها امکان فراخوانی اسکریپت‌های راه‌انداز را به منظور پیکربندی محیط خود می‌دهند (کامل‌سازی خودکار، متن روی صفحه و موارد دیگر).
bash به عنوان پوسته استاندارد از فایل /etc/bash.bashrc به عنوان اسکریپ راه‌انداز پوسته‌های “تعاملی” و از فایل /etc/profile برای پوسته‌های “ورودی” استفاده می‌کند.
به عبارت ساده، یک پوسته ورودی زمانی فراخوانی می‌شود که شما به کنسول از طریق محلی یا در محیط شبکه با استفاده از ssh وارد شده باشید، یا زمانی که دستور bash --login را اجرا کنید. جدا از اینکه این یک پوسته ورودی باشد یا نه، یک پوسته می‌تواند تعاملی (برای نمونه در ترمینال مبتنی بر xterm) یا غیرتعاملی (هنگام اجرای یک اسکریپت) باشد.
For bash, it is useful to install and activate “automatic completion”. The package bash-completion contains these completions for most common programs and is usually enabled if the user's .bashrc configuration file was copied from /etc/skel/.bashrc. Otherwise it can be enabled via /etc/bash.bashrc (simply uncomment a few lines) or /etc/profile.
In addition to these common scripts, each user can create their own ~/.bashrc and ~/.bash_profile to configure their shell. The most common changes are the addition of aliases; these are words that are automatically replaced with the execution of a command, which makes it faster to invoke that command. For instance, you could create the la alias for the command ls -la | less command; then you only have to type la to inspect the contents of a directory in detail. Please note that the shell needs to be reinitialized after adding an alias, e.g. by starting a new shell.
Setting default environment variables is an important element of shell configuration. Leaving aside the variables specific to a shell, it is preferable to place system wide variables in the /etc/environment file, since it is used by the various programs likely to initiate a shell session. Variables typically defined there include ORGANIZATION, which usually contains the name of the company or organization, and HTTP_PROXY, which indicates the existence and location of an HTTP proxy. Other options include to set system wide variables via scripts in /etc/profile.d, or session wide variables via .pam_environment or .profile, where the latter can override any definition contained in the first. The file /etc/default/locale is meant to contain system wide locale related environment variables.