Hangi durumlarda PS2, PS3, PS4 istemi olarak kullanılır?


31

Kabukta oturum açtığımda, değeri PS1'de depolanan istemi görüyorum.

Burada belge sözdizimini kullandığımda başka bir bilgi istemi ile karşılaştım (hangisini bilmiyorum):

bc << HERE
>

Ancak bu tüm istemlerin türüdür. Şimdiye kadar karşılaştım. Ne tür durumlar farklı istemlere yol açar?

Yanıtlar:


43

Bash dokümantasyonunun söylediği:

PS1    The  value  of  this parameter is expanded (see PROMPTING below)
       and used as the primary prompt string.   The  default  value  is
       ``\s-\v\$ ''.
PS2    The  value of this parameter is expanded as with PS1 and used as
       the secondary prompt string.  The default is ``> ''.
PS3    The value of this parameter is used as the prompt for the select
       command (see SHELL GRAMMAR above).
PS4    The  value  of  this  parameter  is expanded as with PS1 and the
       value is printed before each command  bash  displays  during  an
       execution  trace.  The first character of PS4 is replicated mul
       tiple times, as necessary, to indicate multiple levels of  indi
       rection.  The default is ``+ ''.

Yani, PS1istemi "bir komut bekliyor" normal olduğunu, PS2tamamlanmamış bir komutu yazdıktan sonra gördüğünü istemi devamı, PS3zaman gösterilen selectkomut girişi için bekliyor ve PS4ayıklama iz çizgi öneki.

Aldığım belgeler öyle değil, ancak PS3bash için varsayılan #?:

$ select x in foo bar baz; do echo $x; done
1) foo
2) bar
3) baz
#? 3
baz
#? 2
bar
#? ^C

2
mükemmel!!! select komutu ne için?
Abdul Al Hazred

10
selectBasit etkileşimli menüler yapmanın basit bir yoludur, daha ayrıntılı bir açıklama için bkz. ss64.com/bash/select.html .
dhag

@dhag, Yani öyle if else..mi?
Pacerier
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.