انجمن‌های فارسی اوبونتو

تازه کار => انجمن تازه‌کاران => نویسنده: spy ir در 20 اسفند 1396، 02:52 ق‌ظ

عنوان: متغیر PS1 چیست؟
ارسال شده توسط: spy ir در 20 اسفند 1396، 02:52 ق‌ظ
سلام دوستان. بنده داشتم در مورد سفارشی کردن میخوندم که با این متغیر بر خوردم ولی نتونستم درک درستی از این موضوع پیدا کنم ممنون میشم اگه توضیح بدید که این متغیر چی هستش و چه کاری انجام میده؟؟؟


و یک سوال ریز دیگه در اینجا بپرسم

08_03-Customizing Your Prompt

منظور از PROMPT چیه ؟ معنیش چی میشه؟ درسته که به PROMPT هم PS1 گفته میشه؟
عنوان: پاسخ : متغیر PS1 چیست؟
ارسال شده توسط: Nelliel در 20 اسفند 1396، 06:19 ق‌ظ
این‌ها را مطالعه کنید:

https://wiki.archlinux.org/index.php/Bash/Prompt_customization#Prompts

https://en.wikibooks.org/wiki/Guide_to_Unix/Explanations/Shell_Prompt

در لینک‌های بالا به صورت کامل توضیح داده شده :)
عنوان: پاسخ : متغیر PS1 چیست؟
ارسال شده توسط: spy ir در 21 اسفند 1396، 03:13 ق‌ظ
ممنون.

ولی ای کاش خلاصه ی توضیحی میدادید خودتون. که در خوندن مطلب بالا مشکل نداشته باشم.چون قبلش سرچ کردم ولی چون دقیق درک درستی پیدا نکردم
مرسی
عنوان: پاسخ : متغیر PS1 چیست؟
ارسال شده توسط: Nelliel در 21 اسفند 1396، 05:37 ق‌ظ
اون PS مخفف Prompt Shell هست, وقتی داریم از PS1 صحبت می‌کنیم در واقع داریم از این صحبت می‌کنیم:

[hossein@Archlinux ~]$
وقتی می‌گیم PS2 معمولا مربوط  میشه به زمانی که داریم Multi-line command وارد می‌کنیم, برای مثال:

[hossein@Archlinux ~]$ ls \
> -l
total 93616
drwxrwxrwx  2 hossein users     4096 Feb 28 20:20 'Arch wiki'
drwxr-xr-x  2 hossein users     4096 Mar  3 18:32  Desktop
drwxr-xr-x  2 hossein users     4096 Mar  2 14:51  Documents
drwx------  5 hossein users     4096 Mar 10 20:30  Downloads
drwxr-xr-x 31 hossein users    12288 Mar  8 13:09  Music
drwxr-xr-x  3 hossein users     4096 Mar 11 06:29  Pictures
lrwxrwxrwx  1 hossein users       39 Mar  2 02:50 "PlayOnLinux's virtual drives" -> /home/hossein/.PlayOnLinux//wineprefix/
drwxrwxrwx  5 hossein users     4096 Mar  7 21:28  Prog
drwxr-xr-x  2 hossein users     4096 Feb 26 03:33  Public
drwxrwxrwx  2 hossein users     4096 Mar  1 15:47  Razito
-rw-r--r--  1 hossein users 95801161 Mar 12 03:15 'Taylor Swift - Delicate-tCXGJQYZ9JA.mkv'
drwxrwxr-x  2 hossein users     4096 Dec 30 14:01  Telegram
drwxr-xr-x  2 hossein users     4096 Feb 26 03:33  Templates
drwxr-xr-x  7 hossein users     4096 Mar  2 03:52  TTC
drwxr-xr-x  2 hossein users     4096 Mar  3 03:49  Videos


اون > که بعدش من نوشتم l- در واقع همون PS2 هست که با Export می‌تونید عوضش کنید:

[hossein@Archlinux ~]$ echo $PS2
>

export PS2='>>>'
[hossein@Archlinux ~]$ echo $PS2
>>>

اون PS3 را هم دقیقا نمی‌دونم چه موقعی ازش استفاده میشه ولی به صورت کلی اولین فرمان در PS1 اجرا میشه و بعدی‌ها در PS2 و PS3:


نقل‌قول
     PS1 is the primary prompt which is displayed before each command, thus it is the one most people customize.
    PS2 is the secondary prompt displayed when a command needs more input (e.g. a multi-line command).
    PS3 is not very commonly used. It is the prompt displayed for Bash's select built-in which displays interactive menus. Unlike the other prompts, it does not expand Bash escape sequences. Usually you would customize it in the script where the select is used rather than in your .bashrc.
    PS4 is also not commonly used. It is displayed when debugging bash scripts to indicate levels of indirection. The first character is repeated to indicate deeper levels.

به نظرم اگر همون ویکی آرچ را کامل بخونید, متوجه می‌شید! من خودم هم کامل نخوندم اون صفحه‌ را, فقط در مواقع نیاز ازش استفاده کردم در نتیجه در مورد PS3 و PS4 اطلاعاتی ندارم که چه موقعی ازشون استفاده میشه ولی توی همون صفحه‌ای که لینک دادم, کامل توضیح داده!
عنوان: پاسخ : متغیر PS1 چیست؟
ارسال شده توسط: spy ir در 22 اسفند 1396، 09:43 ب‌ظ
در واقع همون شخصی سازی promt shell هستش ی جورایی درست میگم؟
عنوان: پاسخ : متغیر PS1 چیست؟
ارسال شده توسط: Nelliel در 22 اسفند 1396، 10:07 ب‌ظ
در واقع همون شخصی سازی promt shell هستش ی جورایی درست میگم؟

شما می‌تونی مثلا PS1 و PS2 را جداگونه شخصی سازی کنی ولی خب کاراییش را براتون توضیح دادم بالاتر که اینکه کی از PS1 یا PS2 استفاده میشه ربطی به شخصی سازیش نداره :)