Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > e74e806c1a2640e922856d7eb69d1420 > files > 8

howto-text-ja-2006-5mdv2010.0.noarch.rpm

  Bash Prompt HOWTO
  Giles Orr, giles@interlog.com
  $Revision: 1.3 $, $Date: 2001/09/07 17:04:58 $
  ‰““¡ –¾ <akendo@t3.rim.or.jp>
  v0.60j, 19 January 1999

  ’[––‚Æ xterm ‚ł̃vƒƒ“ƒvƒg‚̍쐬‚Ɛ§Œä‚̉ðà‚ŁAƒ†[ƒU[–¼AŒ»Ý‚Ì
  ƒfƒBƒŒƒNƒgƒŠAŽžŠÔ‚È‚Ç‚ð•\Ž¦‚·‚é•W€‚̃GƒXƒP[ƒvEƒV[ƒPƒ“ƒX‚ðŠÜ‚ñ‚Å‚¢
  ‚Ü‚·Bxterm ‚̃^ƒCƒgƒ‹ƒo[‚ð•Ï‚¦‚½‚èAƒvƒƒ“ƒvƒg‚ÉŠO•”ŠÖ”‚ðŽg‚Á‚½î•ñ
  ‚ð‚¢‚ê‚½‚èAANSI ƒJƒ‰[‚ðŽg‚¤•û–@‚àq‚ׂ܂·B
  ______________________________________________________________________

  –ÚŽŸ

  1. ‚Í‚¶‚߂ɁA
     1.1 ‘O’ñ
     1.2 ‚±‚̃hƒLƒ…ƒƒ“ƒg‚ÌŽg‚¢•û
     1.3 –|–ó
     1.4 –â‘è
     1.5 ƒRƒƒ“ƒg‚â’ñˆÄ‚ð•·‚©‚¹‚Ä‚­‚¾‚³‚¢
     1.6 ŽÓŽ«
     1.7 ’˜ìŒ ‚ƐӔC•úŠü

  2. Bash‚ÆBash‚̃vƒƒ“ƒvƒg
     2.1 Bash‚Æ‚Í
     2.2 Bash ƒvƒƒ“ƒvƒg‚ð‚¢‚¶‚é‚Æ‚æ‚¢‚±‚Æ‚ª‚ ‚é‚Ì‚Å‚·‚©?
     2.3 ‚È‚º–Ê“|‚È‚±‚Æ‚ð‚·‚é‚Ì?
     2.4 ‘æˆê’iŠK
     2.5 Bashƒvƒƒ“ƒvƒg‚̃GƒXƒP[ƒvƒV[ƒPƒ“ƒX
     2.6 PS?•¶Žš—ñ‚̐ݒè‚ð‰i‘±‚³‚¹‚é

  3. ŠO•”ƒRƒ}ƒ“ƒh
     3.1 PROMPT_COMMAND
     3.2 ƒvƒƒ“ƒvƒg‚Ì’†‚Å‚ÌŠO•”ƒRƒ}ƒ“ƒh
     3.3 ƒvƒƒ“ƒvƒg‚ɉ½‚ð’u‚­‚©
     3.4 Bash ‚̊‹«‚Ɗ֐”

  4. Xterm‚̃^ƒCƒgƒ‹ƒo[‚Ì‘€ì
  5. ANSI ƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX: F‚ƃJ[ƒ\ƒ‹‘€ì
     5.1 F
     5.2 ƒJ[ƒ\ƒ‹‘€ì
     5.3 tput ‚ŃJ[ƒ\ƒ‹‚ð“®‚©‚·

  6. “Á•Ê‚È•¶Žš: 8i”ƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX
  7. Bash PromptƒpƒbƒP[ƒW
     7.1 “üŽè•û–@
     7.2 Xterm ‚̃tƒHƒ“ƒg‚ð•Ï‚¦‚é

  8. ƒvƒƒ“ƒvƒg‚ð•Ï‚¦‚é
     8.1 ƒvƒƒ“ƒvƒg‚ð•Ï‚¦‚éAŒã‚Å
     8.2 ƒvƒƒ“ƒvƒg‚ð•Ï‚¦‚éA¡‚·‚®

  9. “®“I‚Ƀvƒƒ“ƒvƒg‚̐F‚ð•Ï‚¦‚é
     9.1 ‚Ç‚¤‚·‚ê‚Ή”\‚©

  10. ƒvƒƒ“ƒvƒg‚Ì—á
     10.1 uŒy—ʁvƒvƒƒ“ƒvƒg
     10.2 Bashprompt‚©‚çelite
     10.3 uƒpƒ[ƒ†[ƒU[vƒvƒƒ“ƒvƒg
     10.4 ’[––•‚̃vƒƒ“ƒvƒg
     10.5 –𗧂½‚¸‚̃GƒŒƒKƒ“ƒg‚ÈŽž•\Ž¦ƒvƒƒ“ƒvƒg

  ______________________________________________________________________

  1.  ‚Í‚¶‚߂ɁA

  1.1.  ‘O’ñ

  Bash ‚ª•K—v‚Å‚·B‚Ù‚Æ‚ñ‚Ç‚Ì Linux ‚ɂ‚¢‚Ä‚­‚éƒo[ƒWƒ‡ƒ“‚Í(‚±‚ê‚ð‘‚¢
  ‚Ä‚¢‚é 98”N11ŒŽŽž“_‚Å)1.14.7‚ŁA—L–¼‚ŁAM—Š«‚̍‚‚¢ƒVƒFƒ‹‚Å‚·B Bash
  ‚̃o[ƒWƒ‡ƒ“‚́AŒ»Ý 2.0 ˆÈã‚É‚È‚Á‚Ä‚¨‚èAŽ„‚Í‚±‚±‚µ‚΂炭 Bash 2.0
  ‚ðŽg‚Á‚Ä‚¢‚Ü‚·‚ªA‚±‚±‚ÅŽ¦‚µ‚½‚Ù‚Æ‚ñ‚ǂ̃R[ƒh‚Í1.14.7‚Å‚à“®‚«‚Ü‚·B‰½
  ‚©–â‘è‚Ì‚ ‚é‚Æ‚±‚ë‚́AŽ„‚ª’m‚Á‚Ä‚¢‚éŒÀ‚èAŽw“E‚µ‚Ä‚¨‚«‚Ü‚µ‚½B‚ ‚È‚½‚Ì
  Bash ‚̃o[ƒWƒ‡ƒ“‚́Aecho $BASH_VERSION‚ƃvƒƒ“ƒvƒg‚Ń^ƒCƒv‚·‚é‚Æ•ª‚©
  ‚è‚Ü‚·BŽ„‚Ì‹@ŠB‚ł́A2.02.1(1)-release‚Æ‚È‚è‚Ü‚·B

  ƒVƒFƒ‹EƒvƒƒOƒ‰ƒ~ƒ“ƒO‚ÌŒoŒ±‚Í—L—p‚Å‚·‚ªA•K{‚Å‚Í‚ ‚è‚Ü‚¹‚ñB’mŽ¯‚ª‘½
  ‚¯‚ê‚Α½‚¢‚قǁA‚æ‚è•¡ŽG‚ȃvƒƒ“ƒvƒg‚ð‚‚­‚ê‚邱‚Æ‚Å‚µ‚傤B‚±‚̃`ƒ…[
  ƒgƒŠƒAƒ‹‚ð“ǂނ̂ɁAƒVƒFƒ‹EƒvƒƒOƒ‰ƒ~ƒ“ƒO‚Æ Unix ƒc[ƒ‹‚ÌŠî–{“I‚È’mŽ¯
  ‚ð‰¼’è‚µ‚Ü‚µ‚½‚ªA‚»‚à‚»‚àŽ„‚̃VƒFƒ‹EƒvƒƒOƒ‰ƒ~ƒ“ƒO‚Ì’mŽ¯‚ÍŒÀ’肳‚ꂽ
  ‚à‚Ì‚Å‚·‚©‚çAŽ„‚́A‘òŽR‚Ì—á‚âà–¾‚ð‘‚«‚Ü‚µ‚½‚ªA‚»‚ê‚ç‚ÍŒoŒ±‚ðÏ‚ñ‚¾
  ƒVƒFƒ‹EƒvƒƒOƒ‰ƒ}‚É‚Í•s•K—v‚ÉŽv‚¦‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB

  1.2.  ‚±‚̃hƒLƒ…ƒƒ“ƒg‚ÌŽg‚¢•û

  —á‚âà–¾‚𑽂­‚¢‚ê‚Ü‚µ‚½B“ǂސl‚ª•Ï‚í‚ê‚΁A‚Ç‚Ì•”•ª‚ª–ð‚É—§‚‚Ǝv‚¤‚©
  ‚à•Ï‚í‚Á‚Ä‚­‚é‚Å‚µ‚傤B‘å‚«‚È•¶‘‚É‚È‚Á‚Ä‚«‚Ü‚µ‚½‚̂ŁAÅ‰‚©‚ç’Ê‚µ‚Ä
  “Ç‚Þ‚±‚Æ‚ª“‚­‚È‚Á‚Ä‚«‚Ä‚¢‚Ü‚·B“Ç‚Ý‚½‚¢‚Æ‚±‚ë‚ðE‚¢“Ç‚Ý‚µA•K—v‚ɉž
  ‚¶‚Ä–ß‚Á‚ĉº‚³‚¢B

  1.3.  –|–ó

  Œ»Ý(1999”N1ŒŽ6“ú)A“ú–{Œê(Akira Endo, akendo@t3.rim.or.jp)‚ƃhƒCƒc
  Œê(Thomas Keil, thomas@h-preissler.de) ‚Ö‚Ì–|–󂪐i‚ß‚ç‚ê‚Ä‚¢‚Ü‚·B‚¨
  “ñl‚ÉŠ´ŽÓBURL‚ª“üŽè‚Å‚«‚½‚ç‚‚¯‰Á‚¦‚Ü‚·B

  1.4.  –â‘è

  ‚±‚ê‚́AŽ„‚ªƒvƒƒ“ƒvƒg‚ðƒvƒƒOƒ‰ƒ€‚µ‚Ä‚¢‚Ä‹C‚ª‚‚¢‚½–â‘è“_‚̃ŠƒXƒg‚Å
  ‚·B‚±‚±‚©‚ç“Ç‚ÝŽn‚ß‚Ä‚ª‚Á‚©‚肵‚È‚¢‚ʼnº‚³‚¢B‚±‚ê‚ׂ͍©‚ȏ¬‚³‚È–â‘è‚Å
  ‚·B‰½‚©•Ï‚È‚±‚Æ‚ª‹N‚±‚Á‚½Žž‚É‚±‚±‚É–ß‚Á‚ĉº‚³‚¢B

  o  ‘½‚­‚Ì Bash ‚Ì‹@”\(‚½‚Æ‚¦‚Î$(())‚Ì’†‚Å‚ÌŒvŽZ)‚́AƒRƒ“ƒpƒCƒ‹Žž‚̃Iƒv
     ƒVƒ‡ƒ“‚Å‚·B•W€‚Ì Linux ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚É‚Í‚¢‚Á‚Ä‚­‚é‚à‚Ì‚Ì
     ‚悤‚ɁAƒoƒCƒiƒŠ[‚Ì Bash ‚ðŽg‚Á‚Ä‚¢‚é‚È‚çA‚±‚̂悤‚È‹@”\‚Í‚·‚ׂÄ
     ƒRƒ“ƒpƒCƒ‹‚³‚ê‚Ä‚¢‚é‚à‚Ì‚ÆŽv‚¢‚Ü‚·B‚µ‚©‚µA‚à‚µ‘¼l‚̃VƒXƒeƒ€‚ÅŽd
     Ž–‚ð‚µ‚Ä‚¢‚é‚È‚çAŠú‘Ò‚µ‚Ä‚¢‚邱‚Æ‚ª‚¤‚Ü‚­‚¢‚©‚È‚©‚Á‚½ê‡‚É‚±‚Ì‚±
     ‚Æ‚ðŽv‚¢o‚µ‚ĉº‚³‚¢B‚±‚ê‚ɂ‚¢‚ẮA Learning the Bash Shell,
     p.260-262‚É‹LÚ‚ª‚ ‚è‚Ü‚·B

  o  ’[––‚̃XƒNƒŠ[ƒ“ƒ}ƒl[ƒWƒƒ["screen"‚́A•K‚¸‚µ‚àANSIƒJƒ‰[‚ðƒTƒ|[
     ƒg‚µ‚Ä‚¢‚é‚Æ‚ÍŒÀ‚è‚Ü‚¹‚ñBŽc”O‚È‚ª‚玄‚Í screen ‚ɂ‚¢‚Ä‚»‚ê‚قǏÚ
     ‚µ‚­‚ ‚è‚Ü‚¹‚ñBŽ„‚Ì screen ‚̃o[ƒWƒ‡ƒ“‚Í”ñí‚ɐV‚µ‚¢‚à‚̂ŁA‚·‚×
     ‚Ă̏ꍇ‚É‚¤‚Ü‚­‚¢‚Á‚Ä‚¢‚Ü‚·‚ªAX ’[––ã‚ŁAƒvƒƒ“ƒvƒg‚̐F‚ª•W€‚Ì
     ƒtƒHƒAƒOƒ‰ƒEƒ“ƒhƒJƒ‰[ˆêF‚É‚È‚Á‚Ä‚µ‚Ü‚¤‚±‚Æ‚ª‚ ‚è‚Ü‚µ‚½B‚±‚̂悤
     ‚È‚±‚Ƃ̓Rƒ“ƒ\[ƒ‹‚ł͐¶‚¶‚È‚¢‚悤‚Å‚·B

  o  Xdefaults ƒtƒ@ƒCƒ‹‚ŐF‚ð•Ï‚¦‚Ä‚¢‚邱‚Æ‚ª‚ ‚è‚Ü‚·B /.Xdefaults ‚Ì’†
     ‚ŁA XTerm*background ‚â XTerm*foreground (‚ ‚é‚¢‚Í
     XTerm*Background ‚â XTerm*Foreground) ‚Ì‹Lq‚ª‚È‚¢‚©’²‚ׂĉº‚³‚¢B

  o  ‚±‚Ì•¶‘‚Ì’†‚Å"jobs"‚̏o—Í‚ðŽg‚Á‚Ä‚¢‚éƒvƒƒ“ƒvƒg‚ª‚ ‚èA‚»‚±‚ŏq‚×
     ‚Ü‚·‚ªA Bash 2.02 ‚ł́A"jobs"‚̏o—Í‚ðƒpƒCƒv‚É“n‚·‚Æ‚±‚낪‚¤‚Ü‚­‚¢
     ‚«‚Ü‚¹‚ñB

  o  ANSI ƒJ[ƒ\ƒ‹‘€ìƒV[ƒPƒ“ƒX‚́A‚·‚ׂĂÌX’[––‚ÅŽÀŒ»‚³‚ê‚Ä‚¢‚é‚킯‚Å
     ‚Í‚ ‚è‚Ü‚¹‚ñB‚»‚̏͂ŏq‚ׂ܂·B

  o  Œ©‰h‚¦‚Ì‚·‚é‹^Ž—ƒOƒ‰ƒtƒBƒbƒN‚́ALinux •W€‚̃tƒHƒ“ƒg‚Å‚Í‚È‚­AVGA
     ƒtƒHƒ“ƒg‚É‚æ‚Á‚Ä•\Ž¦‚³‚ê‚Ü‚·BŽc”O‚È‚ª‚炱‚ê‚Í VGA ƒtƒHƒ“ƒg‚ðŽg‚í‚È
     ‚¢‚ƂЂǂ¢Žp‚É‚È‚è‚Ü‚·B‚Ü‚½‚Ç‚ñ‚ȃtƒHƒ“ƒg‚ðŽg‚Á‚Ä‚¢‚é‚©‚ð’[––‚Ì’†
     ‚Å’²‚ׂé•û–@‚ª‚ ‚è‚Ü‚¹‚ñB

  o  Bash 2.0+ ‚ªo‚³‚ê‚Ä‚¨‚èAV‚µ‚¢‹@”\‚ª•t‰Á‚³‚êA‚ ‚é‹@”\‚Ì‚Ó‚é‚Ü‚¢
     ‚ªˆÙ‚È‚Á‚Ä‚¢‚Ü‚·B1.14.7‚Å“®‚¢‚Ä‚¢‚½‚à‚Ì‚ª2.0+‚Å“®‚©‚È‚©‚Á‚½‚èA‚Ü
     ‚½‹t‚̏ꍇ‚ª‚ ‚蓾‚Ü‚·B

  1.5.  ƒRƒƒ“ƒg‚â’ñˆÄ‚ð•·‚©‚¹‚Ä‚­‚¾‚³‚¢

  ‚±‚ê‚ð‘‚­‚±‚Æ‚ªŽ„‚É‚Æ‚Á‚Ă̕׋­‚É‚à‚È‚è‚Ü‚µ‚½B‹»–¡[‚¢–ð‚É—§‚ Bash
  ƒvƒƒ“ƒvƒg‚ð‘‚­‚±‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½B‚Å‚àA‚±‚Ì•¶‘‚ÌŒë‚è‚ð’¼
  ‚µA‰ü‘P‚µ‚Ä‚¢‚­‚ɂ́A‚ ‚È‚½‚©‚ç‚ÌŠ´‘z‚ª•K—v‚Å‚·BŽ„‚ÌŽ¦‚µ‚½‚à‚Ì‚ðƒo[
  ƒWƒ‡ƒ“‚̈قȂé Bash (‘½‚­‚ÍŽ„‚ªŽg‚Á‚Ä‚¢‚é2.02‚ŁA‚Ü‚½L‚­Žg‚í‚ê‚Ä‚¢
  ‚é1.14.7‚Å‚à)‚Ń`ƒFƒbƒN‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªA‰½‚©•s“s‡‚È“_‚ª‚ ‚ê‚Î’m‚点‚Ä
  ‰º‚³‚¢B

  ‚±‚Ì•¶‘‚̍ŐV”Å‚Í http://www.interlog.com/~giles/bashprompt.html ‚©‚ç
  “üŽè‰Â”\‚Å‚·‚̂ŁA‚±‚±‚ðƒ`ƒFƒbƒN‚µ‚ĉº‚³‚¢B‚»‚µ‚āAŽ„
  giles@interlog.com‚É‹CŒy‚É e-mail ‚ð‘—‚èA‚²ˆÓŒ©‚ð‚¨•·‚©‚¹‰º‚³‚¢B

  Ž„‚Í LDP ‚Ì HOWTO ‚ð‚Ù‚Æ‚ñ‚Ç HTML ƒtƒH[ƒ}ƒbƒg‚ÅŽg‚Á‚Ä‚¢‚Ü‚·B‚µ‚½‚ª‚Á
  ‚āA‚±‚Ì•¶‘‚ð SGML ‚©‚ç•ÏŠ·‚µ‚Ä‚æ‚­ƒ`ƒFƒbƒN‚µ‚½‚̂́AHTML ‚¾‚¯‚Å‚·B
  ‘¼‚̃tƒH[ƒ}ƒbƒg‚Å–â‘肪‚ ‚Á‚Ä‚à•ª‚©‚è‚Ü‚¹‚ñ‚̂ŁA’m‚点‚Ä‚¢‚½‚¾‚¯‚ê‚Î
  K‚¢‚Å‚·B

  1.6.  ŽÓŽ«

  ‚±‚Ì•¶‘‚ð‘‚­‚½‚ß‚É http://bash.current.nu/ ‚Ì Bashprompt ƒvƒƒWƒFƒN
  ƒg‚©‚ç”ñí‚É‘½‚­‚Ì‚à‚Ì‚ðŽØ‚è‚Ü‚µ‚½B‚»‚Ì‘¼A
  http://sunsite.unc.edu/LDP/HOWTO/mini/Xterm-Title.html‚Å“üŽè‰Â”\‚È Ric
  Lister ‚É‚æ‚éxterm Title mini-HOWTOA
  http://www.ncal.verio.com/~keebler/ansi.html‚Å“üŽè‰Â”\‚È Keebler ‚É‚æ
  ‚éAnsi PromptsA http://bash.current.nu/bash/HOWTO.html‚Å“üŽè‰Â”\‚È
  Stephen Webb ‚É‚æ‚éHow to make a Bash Prompt ThemeA
  http://home.earthlink.net/~us5zahns/enl/ansifont.html‚Å“üŽè‰Â”\‚È
  Stumpy‚É‚æ‚éX ANSI Fonts‚à‚½‚ß‚É‚È‚è‚Ü‚µ‚½B

  Ž„‚æ‚肸‚Á‚Ɛ[‚¢ Unix ‚Ì’mŽ¯‚ðŽ‚Â Georgia College & State University
  ‚Ì“¯—» Dan ‚©‚ç‚Ì e-mail ‚à•‚¯‚É‚È‚è‚Ü‚µ‚½B‘½‚­‚Ì‘f°‚炵‚¢’ñˆÄ‚ð‚µ
  ‚Ä‚­‚êA‚Ü‚½”ނ̍l‚¦‚É‚æ‚Á‚Ä‚¨‚à‚µ‚ë‚¢ƒvƒƒ“ƒvƒg‚ª‚Å‚«‚Ü‚µ‚½B

  ƒvƒƒ“ƒvƒg‚ðƒvƒƒOƒ‰ƒ€‚·‚邽‚߂ɁA3û‚Ì–{‚ª‚Æ‚Ä‚à–ð‚É—§‚¿‚Ü‚µ‚½B
  Linux in a Nutshell Jessica Heckman Perry (O'Reilly, 1997)A Learning
  the Bash Shell Cameron Newham and Bill Rosenblatt (O'Reilly, 2nd. ed.,
  1998)A Unix Shell Programming Lowell Jay Arthur (Wiley, 1986A‚±‚ê‚Í
  ‘æ1”Å‚Å‘æ4”Å‚ª1997”N‚É‚Å‚Ü‚µ‚½)‚Å‚·B

  1.7.  ’˜ìŒ ‚ƐӔC•úŠü

  This document is copyright 1998-1999 by Giles Orr.  You are encouraged
  to redistribute it.  You may not modify this document (see the section
  on contacting me: I have so far been incorporating all changes
  recommended by readers).  Please contact me if you're interested in
  doing a translation: that's one modification I can live with.

  ‚±‚Ì•¶‘‚Ì’˜ìŒ ‚́AGiles OrrA1998-1999 ‚ª—L‚µ‚Ä‚¢‚Ü‚·B‚Ç‚¤‚¼Ä”z•z
  ‚ð‚¨Šè‚¢‚µ‚Ü‚·B‚±‚Ì•¶‘‚ð‰ü•Ï‚µ‚Ä‚Í‚È‚è‚Ü‚¹‚ñ(Ž„‚ւ̃Rƒ“ƒ^ƒNƒg‚̏͂ð
  “Ç‚ñ‚ʼnº‚³‚¢B‚±‚ê‚Ü‚Å“ÇŽÒ‚©‚çŽó‚¯‚½’ñˆÄ‚Í‚±‚Ì’†‚ÉŠÜ‚ß‚Ä‚ ‚è‚Ü‚·)B–|
  –󂵂½‚¢•û‚ÍŽ„‚ɃRƒ“ƒ^ƒNƒg‚µ‚ĉº‚³‚¢B‚±‚ꂪŽ„‚Ì‹–‰Â‚·‚é—Bˆê‚̉ü•Ï‚Å
  ‚·B

  This document is available for free, and, while I have done the best I
  can to make it accurate and up to date, I take no responsibility for
  any problems you may encounter resulting from the use of this
  document.

  ‚±‚Ì•¶‘‚Í–³—¿‚Å“üŽè‚Å‚«‚Ü‚·B‚Å‚«‚邾‚¯³Šm‚ōŐV‚Ì‚à‚Ì‚É‚µ‚½‚‚à‚è‚Å
  ‚·‚ªA‚±‚Ì•¶‘‚ðŽg—p‚µ‚Ä‚ ‚È‚½‚ª‘˜‹ö‚·‚é‚Ç‚ñ‚È–â‘è‚É‚àÓ”C‚Í‚Æ‚è‚Ü‚¹
  ‚ñB

  2.  Bash‚ÆBash‚̃vƒƒ“ƒvƒg

  2.1.  Bash‚Æ‚Í

  Bourne Shell ‚Ì—¬‚ê‚ð‚­‚Þ Bash ‚́AGNU ‚ÅŠJ”­‚³‚ê‚Ä‚¨‚èA Bourne Again
  SHell ‚©‚ç–¼•t‚¯‚ç‚ê‚Ä‚¢‚Ü‚·B‘½‚­‚Ì Linux ‚Å‚Í•W€‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“E
  ƒCƒ“ƒ^[ƒtƒF[ƒX‚É‚È‚Á‚Ä‚¢‚Ü‚·B‘Θb«‚âAƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̕ҏWA•âŠ®A
  —š—ð‚Æ‚¢‚Á‚½‹@”\‚É‘ì‰z‚µ‚Ä‚¢‚Ü‚·Bƒvƒƒ“ƒvƒg‚ðÝ’è•ÏX‚Å‚«‚邱‚Æ‚Í‘½‚­
  ‚̐l‚ª’m‚Á‚Ä‚¢‚Ü‚·‚ªA‚Ç‚±‚Ü‚Å‚Ì‚±‚Æ‚ª‚Å‚«‚é‚©‚Í‚ ‚Ü‚è’m‚ç‚ê‚Ä‚¢‚Ü‚¹
  ‚ñB

  2.2.  Bash ƒvƒƒ“ƒvƒg‚ð‚¢‚¶‚é‚Æ‚æ‚¢‚±‚Æ‚ª‚ ‚é‚Ì‚Å‚·‚©?

  ‘½‚­‚Ì Linux ‚̃fƒtƒHƒ‹ƒg‚̃vƒƒ“ƒvƒg‚́A1F(’ʏíƒOƒŒƒC)‚ŁAƒ†[ƒU[
  –¼Aƒ}ƒVƒ“–¼AŒ»Ý‚̃fƒBƒŒƒNƒgƒŠ‚ðŽ¦‚·‚à‚Ì‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚ê‚Í–ð‚É—§
  ‚î•ñ‚Å‚·B‚Å‚àƒvƒƒ“ƒvƒg‚Í‚à‚Á‚Æ‘½‚­‚Ì‚±‚Æ‚ðŽ¦‚¹‚Ü‚·B‚Ç‚ñ‚ȏî•ñ‚Å‚à
  Ž¦‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·Btty ”ԍ†AŽžŠÔA“ú•tA•‰‰×ó‘ԁAƒ†[ƒU[”AÚ‘±Žž
  ŠÔ“™XBƒvƒƒ“ƒvƒg‚É‚Í ANSI ‚̐F‚ªŽg‚¦AŒ©‚½–Ú‚ð–Ê”’‚­‚µ‚½‚èA‚ ‚éî•ñ
  ‚ðÛ—§‚½‚¹‚½‚è‚Å‚«‚Ü‚·B‚±‚̂悤‚ȏî•ñ‚ðŽ¦‚·‚½‚߂ɁAXterm ‚̃^ƒCƒgƒ‹ƒo
  [‚𑀍삷‚邱‚Æ‚à‚Å‚«‚Ü‚·B

  2.3.  ‚È‚º–Ê“|‚È‚±‚Æ‚ð‚·‚é‚Ì?

  ‚©‚Á‚±‚æ‚­Œ©‚¹‚é‚Æ‚¢‚¤‚¾‚¯‚Å‚È‚­AƒVƒXƒeƒ€î•ñ‚ªŽ¦‚³‚ê‚é‚Ì‚Í–ð‚É—§‚‚±
  ‚Æ‚ª‘½‚¢‚Å‚µ‚傤BˆÙ‚È‚Á‚½‹@ŠB‚ł͈قȂÁ‚½F‚Ńvƒƒ“ƒvƒg‚ðo‚·‚Æ‚¢‚¤‚æ
  ‚¤‚È‚±‚Æ‚ÉŽg‚¤l‚à‚¢‚Ü‚·B‚¢‚­‚‚à‚Ì Xterm ‚ð‚¢‚­‚‚à‚Ì‹@ŠB‚Å“®‚©‚µ‚Ä
  ‚¢‚½‚èA‚Ç‚Ì‹@ŠB‚ð“®‚©‚µ‚Ä‚¢‚é‚Ì‚©‚ðŠ¨ˆá‚¢‚µ‚āAŠÔˆá‚Á‚½ƒtƒ@ƒCƒ‹‚ðíœ
  ‚µ‚½‚è‚·‚é‚悤‚Ȑl‚́A‚±‚̂悤‚ȍH•v‚ð‚·‚é‚±‚Æ‚É‚æ‚Á‚āA‚Ç‚Ì‹@ŠB‚ð“®‚©
  ‚µ‚Ä‚¢‚é‚©‚ð–Y‚ê‚邱‚Æ‚ª‚È‚­‚È‚é‚Å‚µ‚傤B

  2.4.  ‘æˆê’iŠK

  ƒvƒƒ“ƒvƒg‚ÌŒ`ó‚̓VƒFƒ‹•Ï” PS1 ‚É‚æ‚Á‚ÄŒˆ‚Ü‚è‚Ü‚·BƒRƒ}ƒ“ƒh‚ª2sˆÈã
  ‚ɂȂ鎞‚Ì2s–ڈȍ~‚̃vƒƒ“ƒvƒg‚́APS2 ‚Ì•¶Žš—ñ‚ÅŒˆ‚Ü‚è‚Ü‚·B‚±‚ê‚Í
  PS1 ‚Æ‘S‚­“¯‚¶‘‚«•û‚Å‚·‚̂ŁA‚±‚Ì•¶‘‚Å‚Í‚Ù‚Æ‚ñ‚Ç PS1 ‚ɂ‚¢‚Ä‚¾‚¯q
  ‚ׂ܂·B(PS3 ‚Æ PS4 ‚Æ‚¢‚¤•Ï”‚à‚ ‚è‚Ü‚·B‚±‚ê‚ç‚͒ʏí‚̃†[ƒU[‚ªŒ©‚é
  ‚±‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB‚à‚µ‹»–¡‚ª‚ ‚ê‚΁ABash ‚Ì man ƒy[ƒW‚ðŒ©‚Ä‚­‚¾‚³
  ‚¢B)ƒvƒƒ“ƒvƒg‚ð•Ï‚¦‚é‚ɂ́APS1 ‚ð•Ï‚¦‚Ü‚·BŽÀŒ±‚µ‚Ä‚Ý‚é‚ɂ́APS1 ‚Ì
  •¶Žš—ñ‚𒼐ڃvƒƒ“ƒvƒg‚Ì‚Æ‚±‚ë‚Å•Ï‚¦‚Ă݂ĉº‚³‚¢BŒ‹‰Ê‚ª‚·‚®‚É•\‚ê‚é‚Å
  ‚µ‚傤B (‚±‚̕ω»‚ÍŒ»Ý‚̊‹«‚ð•Ï‚¦‚邾‚¯‚ŁAƒƒOƒAƒEƒg‚·‚ê‚΂Ȃ­‚È‚Á
  ‚Ä‚µ‚Ü‚¢‚Ü‚·B) ‚à‚µƒvƒƒ“ƒvƒg‚ð‰i‹v‚É•Ï‚¦‚½‚¯‚ê‚΁A /.bashrc ‚É PS1
  ‚̐V‚µ‚¢’è‹`‚ð’u‚¢‚ĉº‚³‚¢B‚à‚µAƒ‹[ƒgŒ ŒÀ‚ðŽ‚Á‚Ä‚¢‚é‚È
  ‚çA/etc/profile ƒtƒ@ƒCƒ‹‚Ì’†‚Ì"PS1="‚̍s‚ð•Ï‚¦‚Ü‚·BLinux ‚̃fƒBƒXƒg
  ƒŠƒrƒ…[ƒVƒ‡ƒ“‚ÌŽí—Þ‚É‚æ‚Á‚Ä‚Í(RedHat 5.1‚Å‚Í‚»‚¤‚Å‚·‚ª)/etc/bashrc ‚ª
  PS1 ‚Æ PS2 ‚̐ݒè‚ð•Ï‚¦‚Ü‚·‚̂ŁA’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B

  ‚Í‚¶‚ß‚É’ˆÓ‚µ‚Ä‚¨‚«‚Ü‚·‚ªAPS1 ‚̐ݒè‚Í‘¼‚̊‹«•Ï”‚Æ“¯—lAŠÂ‹«‚É•Û‘¶
  ‚³‚ê‚Ä‚¢‚Ü‚·BPS1 ‚̐ݒè‚ðƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ŕω»‚³‚¹‚ê‚΁Aƒvƒƒ“ƒvƒg‚ª•Ï
  ‚í‚è‚Ü‚·B•ÏX‚·‚é‘O‚ÉŒ»Ý‚̃vƒƒ“ƒvƒg‚ð•Û‘¶‚µ‚½‚¯‚ê‚΁A•Ê‚̊‹«•Ï”‚É
  •Û‘¶‚µ‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B

  [giles@nikola giles]$ SAVE=$PS1
  [giles@nikola giles]$

  ‚à‚Á‚Æ‚àŠÈ’P‚ȃvƒƒ“ƒvƒg‚Í1•¶Žš‚©‚ç‚È‚é‚à‚Ì‚Å‚·B‚½‚Æ‚¦‚Î

  [giles@nikola giles]$ PS1=$
  $ls
  bin   mail
  $

  ŠÈ’P‚ȃvƒƒ“ƒvƒg‚ðŽÀŒ±‚·‚é‚ɂ́A‚±‚̂悤‚ɃRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Å“ü‚ê‚Ü‚·Bƒ†
  [ƒU[‚ª“ü—Í‚·‚镶Žš‚ªƒvƒƒ“ƒvƒg‚Ì’¼Œã‚É•\‚ê‚邱‚Æ‚É’ˆÓ‚µ‚ĉº‚³‚¢BŽ„
  ‚ÍŽŸ‚̂悤‚Ƀvƒƒ“ƒvƒg‚ðÝ’è‚·‚é•û‚ªD‚«‚Å‚·B

  $PS1="$ "
  $ ls
  bin   mail
  $

  ‚±‚¤‚·‚邱‚Æ‚É‚æ‚Á‚āAƒvƒƒ“ƒvƒg‚ÌŽŸ‚ɃXƒy[ƒX‚ª’u‚©‚êA“Ç‚Ý‚â‚·‚­‚È‚è
  ‚Ü‚·B‚à‚Ƃ̃vƒƒ“ƒvƒg‚É–ß‚·‚ɂ́A•Û‘¶‚µ‚Ä‚¨‚¢‚½•Ï”‚ðŒÄ‚яo‚µ‚Ü‚·B

  $ PS1=$SAVE
  [giles@nikola giles]$

  2.5.  Bashƒvƒƒ“ƒvƒg‚̃GƒXƒP[ƒvƒV[ƒPƒ“ƒX

  Bash ‚ɂ́Aƒvƒƒ“ƒvƒg‚ÅŽg‚¦‚éƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚ª‘òŽR‚ ‚è‚Ü‚·B Bash
  2.02 ‚Ì man ƒy[ƒW‚ð‚Ý‚é‚ƁA

  ‘ΘbŒ^‚ÅŽÀs‚³‚ê‚鎞‚ɂ́Abash ‚̓Rƒ}ƒ“ƒh‘Ò‚¿‚̏ó‘ԂŁAˆêŽŸ
  ƒvƒƒ“ƒvƒg‚Ì PS1 ‚ð•\Ž¦‚µAƒRƒ}ƒ“ƒh‚ðŠ®¬‚·‚é‚Ì‚É‚³‚ç‚É“ü—Í‚ª
  •K—v‚ÈŽž‚É‚Í“ñŽŸƒvƒƒ“ƒvƒg‚Ì PS2 ‚ð•\Ž¦‚µ‚Ü‚·Bbash ‚ł̓oƒbƒN
  ƒXƒ‰ƒbƒVƒ…‚ŃGƒXƒP[ƒv‚µ‚½•¶Žš‚ð‘}“ü‚·‚邱‚Æ‚É‚æ‚èAƒvƒƒ“
  ƒvƒg‚ðCü‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B‚»‚̈Ӗ¡‚ÍŽŸ‚Ì‚Æ‚¨‚è‚Å‚·B
         \a     ASCII ‚̃xƒ‹•¶Žš (07)
         \d     "—j“ú ŒŽ “ú"‚̃tƒH[ƒ}ƒbƒg‚É‚æ‚é“ú•t‚¯
                (—á "Tue May 26")
         \e     ASCII ‚̃GƒXƒP[ƒv•¶Žš (033)
         \h     Å‰‚Ì"."‚Ì‚Æ‚±‚ë‚܂ł̃zƒXƒg–¼
         \H     ƒzƒXƒg–¼
         \n     ‰üs
         \r     •œ‹A
         \s     ƒVƒFƒ‹–¼A$0 ‚̃x[ƒX–¼
                (ÅŒã‚̃Xƒ‰ƒbƒVƒ…‚ÌŒã‚ë‚Ì•”•ª)
         \t     24ŽžŠÔ§‚Ì HH:MM:SS ‚̃tƒH[ƒ}ƒbƒg‚É‚æ‚鎞ŠÔ
         \T     12ŽžŠÔ§‚Ì HH:MM:SS ‚̃tƒH[ƒ}ƒbƒg‚É‚æ‚鎞ŠÔ
         \@     am/pm ‚ð‚‚¯‚½12ŽžŠÔ§‚̃tƒH[ƒ}ƒbƒg‚É‚æ‚鎞ŠÔ
         \u     Œ»ƒ†[ƒU[‚̃†[ƒU[–¼
         \v     bash ‚̃o[ƒWƒ‡ƒ“(—á 2.00)
         \V     bash ‚̃ŠƒŠ[ƒX”ԍ†Aƒo[ƒWƒ‡ƒ“‚ƃpƒbƒ`ƒŒƒxƒ‹
                (—á 2.00.0)
         \w     Œ»Ý‚̃fƒBƒŒƒNƒgƒŠ
         \W     Œ»Ý‚̃fƒBƒŒƒNƒgƒŠ‚̃x[ƒX–¼
         \!     Œ»Ý‚̃Rƒ}ƒ“ƒh‚̃qƒXƒgƒŠ[”ԍ†
         \#     Œ»Ý‚̃Rƒ}ƒ“ƒh‚̃Rƒ}ƒ“ƒh”ԍ†
         \$     UID‚ª0‚È‚ç#A‚»‚¤‚Å‚È‚¯‚ê‚Î$
         \nnn   8i”nnn‚ɑΉž‚·‚镶Žš
         \\     ƒoƒbƒNƒXƒ‰ƒbƒVƒ…
         \[     •\Ž¦‚³‚ê‚È‚¢•¶Žš—ñ‚ÌŠJŽnB’[––§ŒäƒV[ƒPƒ“ƒX‚ð
                ƒvƒƒ“ƒvƒg‚É–„‚ߍž‚ށB
         \]     •\Ž¦‚³‚ê‚È‚¢•¶Žš—ñ‚̏I‚èB

  ‚»‚ê‚Å‚Í‘±‚«‚Å‚·B

  [giles@nikola giles]$ PS1="\u@\h \W> "
  giles@nikola giles> ls
  bin   mail
  giles@nikola giles>

  ‚±‚ê‚̓fƒtƒHƒ‹ƒg‚̃vƒƒ“ƒvƒg‚Æ‚Ù‚Æ‚ñ‚Ç•Ï‚í‚è‚ ‚è‚Ü‚¹‚ñB‚»‚±‚ŏ­‚µƒXƒ^
  ƒCƒ‹‚ð•Ï‚¦‚Ä‚Ý‚Ü‚µ‚傤B

  giles@nikola giles> PS1="[\t][\u@\h:\w]\$ "
  [21:52:01][giles@nikola:~]$ ls
  bin   mail
  [21:52:15][giles@nikola:~]$

  2.6.  PS?•¶Žš—ñ‚̐ݒè‚ð‰i‘±‚³‚¹‚é

  ‘½‚­‚̐lA‘½‚­‚̃fƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚ª PS? •¶Žš—ñ‚ðˆÙ‚È‚Á‚½‚Æ‚±‚ë‚Å
  Ý’肵‚Ä‚¢‚Ü‚·Bˆê”Ô‘½‚¢‚Ì
  ‚́A/etc/profileA/etc/bashrcA /.bash_profile ‹y‚Ñ /.bashrc‚Å
  ‚·BJohan Kullstam (johan19@idt.net)‚͏‘‚¢‚Ä‚¢‚Ü‚·B

  PS1 •¶Žš—ñ‚Í .bashrc ‚Őݒ肷‚ׂ«‚Å‚·B”ñ‘ΘbŒ^ bash ‚Í PS1 ‚̐ݒè‚ðƒNƒŠƒA‚µ‚Ä
  ‚µ‚Ü‚¤‚©‚ç‚Å‚·Bbash manƒy[ƒW‚ɂ́Abash‚ª‘ΘbŒ^ƒZƒbƒVƒ‡ƒ“‚É‚ ‚é‚©A”ñ
  ‘ΘbŒ^(‚‚܂èƒXƒNƒŠƒvƒg)ƒZƒbƒVƒ‡ƒ“‚É‚ ‚é‚©‚ð’m‚é‚æ‚¢•û–@‚ªPS1‚ª’è‹`‚³‚ê
  ‚Ä‚¢‚é‚©‚Ç‚¤‚©‚¾‚Ə‘‚¢‚Ä‚ ‚è‚Ü‚·B

  ‚±‚ê‚ðŽ„‚ª—‰ð‚µ‚½‚Ì‚Ístartx‚ªbashƒXƒNƒŠƒvƒg‚ŁAstartx‚Í‚ ‚È‚½‚̃vƒƒ“
  ƒvƒg‚ðÁ‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·B.profile(‚à‚µ‚­‚Í.bash_profile)‚ÅPS1‚ðÝ’肵A
  ƒRƒ“ƒ\[ƒ‹‚эƒOƒCƒ“‚µ‚āAstartx‚ÅX‚ð‹N“®‚·‚é‚ƁA‚ ‚È‚½‚ÌPS1‚Í”j‰ó‚³‚ê
  ‚Ä‚µ‚Ü‚¢AƒfƒtƒHƒ‹ƒg‚̃vƒƒ“ƒvƒg‚É–ß‚è‚Ü‚·B

  ‰ðŒˆ–@‚̈ê‚‚́Axterm‚ârxvt‚ð-lsƒIƒvƒVƒ‡ƒ“•t‚«‚Å‹N“®‚µA.profileƒtƒ@ƒC
  ƒ‹‚ð“ǂݍž‚ނ悤‚É‚·‚邱‚Æ‚Å‚·B‚µ‚©‚µA”ñ‘ΘbŒ^‚̃VƒFƒ‹ƒXƒNƒŠƒvƒg‚É‚æ
  ‚Á‚ăVƒFƒ‹‚ªŒÄ‚΂ê‚é“x‚ÉPS1‚ªŽ¸‚í‚ê‚Ü‚·Bsystem(3)‚Í sh -c ‚ðŽg‚¢‚Ü‚·‚ªA
  sh ‚ª bash ‚È‚ç PS1 ‚ªŽ¸‚í‚ê‚Ü‚·B‚æ‚è‚æ‚¢‰ðŒˆ–@‚́APS1 ‚Ì’è‹`‚ð .bashrc ‚É
  ’u‚­‚±‚Æ‚Å‚·B‚±‚ê‚Í bash ‚ª‹N“®‚³‚ê‚é“x‚ɓǂݍž‚Ü‚ê‚Ü‚·‚̂ŁAPS1 ‚̂悤‚È
  ‘Θb‚É•K—v‚È‚à‚Ì‚ð’u‚­‚ׂ«êŠ‚Å‚·B

  ‚µ‚½‚ª‚Á‚āAuPS1=‰½‚½‚ç‚©‚ñ‚½‚çv‚́A.profile ‚Å‚Í‚È‚­A.bashrc ‚É’u‚©
  ‚ê‚é‚ׂ«‚Å‚·B

  Ž„‚Í”Þ‚Ìà–¾‚ðÄŒ»‚µ‚悤‚Æ‚µ‚Ä•Ê‚Ì–â‘è‚É‚Ô‚¿‚ ‚½‚è‚Ü‚µ‚½BŽ„‚Ì
  PROMPT_COMMAND •Ï”(ŽŸ‚Éà–¾‚µ‚Ü‚·)‚ª‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¤‚Ì‚Å‚·B‚±‚Ì•ª–ì
  ‚Å‚ÌŽ„‚Ì’mŽ¯‚͏\•ª‚Å‚È‚¢‚̂ŁAJohan ‚ªŒ¾‚¤‚悤‚É‚µ‚Ü‚µ‚傤B

  3.  ŠO•”ƒRƒ}ƒ“ƒh

  3.1.  PROMPT_COMMAND

  Bash ‚ɂ́APROMPT_COMMAND ‚Æ‚¢‚¤ŠÂ‹«•Ï”‚ª‚ ‚è‚Ü‚·B‚±‚Ì“à—e‚Í Bash ‚ª
  ƒvƒƒ“ƒvƒg‚ðo‚·‘O‚É•’Ê‚Ì Bash ‚̃Rƒ}ƒ“ƒh‚Æ‚µ‚ÄŽÀs‚³‚ê‚Ü‚·B

  [21:55:01][giles@nikola:~] PS1="[\u@\h:\w]\$ "
  [giles@nikola:~] PROMPT_COMMAND="date +%H%M"
  2155
  [giles@nikola:~] d
  bin   mail
  2156
  [giles@nikola:~]

  ‚±‚±‚ł́A\tƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚Í PS1 ‚Ì’†‚É‚Í‚ ‚è‚Ü‚¹‚ñ‚̂ŁAƒvƒƒ“
  ƒvƒg‚É‚ÍŽžŠÔî•ñ‚ªŠÜ‚Ü‚ê‚Ü‚¹‚ñBdate +%H%M‚É‚æ‚Á‚ÄŽ„‚̍D‚݂̃tƒH[ƒ}ƒb
  ƒg‚ÅŽžŠÔ‚ª•\Ž¦‚³‚ê‚Ü‚·B‚µ‚©‚µAŽžŠÔ‚ªƒvƒƒ“ƒvƒg‚ƕʂ̍s‚É•\‚ê‚Ü
  ‚·BBash 2.0+ ‚ł́Aecho -n ...‚ðŽg‚Á‚Ä‚±‚ê‚𒼂·‚±‚Æ‚ª‚Å‚«‚Ü‚·
  ‚ªABash 1.14.7 ‚Å‚Í‚Å‚«‚È‚¢‚悤‚Å‚·Bƒvƒƒ“ƒvƒg‚Ì•\Ž¦•û–@‚ªˆÙ‚È‚Á‚Ä‚¨
  ‚èAƒeƒLƒXƒg‚ª2‰ñ•\Ž¦‚³‚ê‚é‚悤‚É‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B

  2156
  [giles@nikola:~] PROMPT_COMMAND="echo -n [$(date +%H%M)]"
  [2156][giles@nikola:~]$
  [2156][giles@nikola:~]$ d
  bin   mail
  [2157][giles@nikola:~]$ unset PROMPT_COMMAND
  [giles@nikola:~]

  echo -n ...‚Í date ƒRƒ}ƒ“ƒh‚̏o—͂𐧌䂵AÅŒã‚̉üs‚ð—}§‚·‚邱‚Æ‚É
  ‚æ‚Á‚āAƒvƒƒ“ƒvƒg‚ª1s‚Å•\Ž¦‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚·BÅŒã‚É unsetƒRƒ}ƒ“
  ƒh‚ðŽg‚Á‚āAŠÂ‹«•Ï” PROMPT_COMMAND ‚ðœ‚«‚Ü‚·B

  ƒRƒ}ƒ“ƒh“WŠJ‚ðs‚È‚¤‚̂ɁA$(<command>)‚Æ‚¢‚¤‘‚«•û‚ðŽg‚Á‚Ä‚¢‚邱‚Æ‚É’
  ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B‚‚܂èA

  $(date +%H%M)

  ‚́Audate +%H%M‚̃Rƒ}ƒ“ƒh‚̏o—Í‚Å’uŠ·‚·‚év‚Æ‚¢‚¤ˆÓ–¡‚Å‚·B‚±‚ê
  ‚́ABash 2.0+ ‚Å‚Í“®‚«‚Ü‚·‚ªA1.14.7 ˆÈ‘O‚Ì Bash ‚ł́AƒoƒbƒNƒNƒH[ƒg
  ‚ðŽg‚Á‚āA`date +%H%M`‚Æ‚µ‚Ü‚·BBash 2.0+ ‚Å‚àƒoƒbƒNƒNƒH[ƒg‚ÍŽg‚¦‚Ü‚·
  ‚ªA$()‚Ì•û‚ªƒlƒXƒg‚µ‚â‚·‚¢‚Ì‚ÅŽg‚í‚ê‚È‚­‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚Ì•¶‘‚Å‚Í‚±
  ‚̏‘‚«•û‚ðŽg‚Á‚Ä‚¢‚«‚Ü‚·B‚à‚µ‚ ‚È‚½‚ÌŽg‚Á‚Ä‚¢‚é Bash ‚ªŒÃ‚¢ƒo[ƒWƒ‡ƒ“
  ‚È‚çA$()‚Ì‘ã‚í‚è‚ɃoƒbƒNƒNƒH[ƒg‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢BƒRƒ}ƒ“ƒh“WŠJ‚ªƒGƒX
  ƒP[ƒv‚³‚ê‚Ä‚¢‚鎞(‚‚܂è \$(command) )‚́AƒoƒbƒNƒNƒH[ƒg‚𗼕ûƒGƒXƒP
  [ƒv(‚‚܂è \`command\` )‚µ‚Ä‚­‚¾‚³‚¢

  3.2.  ƒvƒƒ“ƒvƒg‚Ì’†‚Å‚ÌŠO•”ƒRƒ}ƒ“ƒh

  •’Ê‚Ì Linux ‚̃Rƒ}ƒ“ƒh‚̏o—͂𒼐ڃvƒƒ“ƒvƒg‚É–„‚ߍž‚Þ‚±‚Æ‚à‚Å‚«‚Ü
  ‚·B‚½‚­‚³‚ñ‚Ì‚à‚̂𖄂ߍž‚à‚¤‚Æ‚Í‚µ‚È‚¢‚Å‚­‚¾‚³‚¢Bƒvƒƒ“ƒvƒg‚ª’·‚­‚È
  ‚è‚·‚¬‚Ü‚·B‚ ‚È‚½‚Í‘¬‚¢ƒRƒ}ƒ“ƒh‚ðŽg‚¢‚½‚¢‚Æ‚àŽv‚Á‚Ä‚¢‚é‚Å‚µ‚傤Bƒvƒ
  ƒ“ƒvƒg‚ª‰æ–Ê‚É•\Ž¦‚³‚ê‚邽‚Ñ‚ÉŽÀs‚³‚ê‚āAì‹Æ’†‚Ƀvƒƒ“ƒvƒg‚Ì•\Ž¦‚ÉŽž
  ŠÔ‚ª‚©‚©‚é‚ƃCƒ‰ƒCƒ‰‚µ‚Ü‚·‚©‚çB(‘O‚Ì—á‚ÉŽ—‚Ä‚¢‚Ü‚·‚ªA‚±‚ê‚Í Bash
  1.14.7 ‚Å‚à“®ì‚µ‚Ü‚·B)

       [21:58:33][giles@nikola:~]$ PS1="[\$(date +%H%M)][\u@\h:\w]\$ "
       [2159][giles@nikola:~]$ ls
       bin   mail
       [2200][giles@nikola:~]$

  ƒRƒ}ƒ“ƒh“WŠJ‚̃hƒ‹ˆó‚Ì‘O‚É‚ ‚éƒoƒbƒNƒXƒ‰ƒbƒVƒ…‚É’ˆÓ‚µ‚ĉº‚³‚¢B‚±‚ꂪ
  ‚È‚¢‚ÆŠO•”ƒRƒ}ƒ“ƒh‚́APS1 •¶Žš—ñ‚ªŠÂ‹«‚ɓǂݍž‚Ü‚ê‚鎞‚É‚½‚Á‚½ˆê“x‚¾‚¯
  ‚µ‚©ŽÀs‚³‚ê‚Ü‚¹‚ñB‚±‚̃vƒƒ“ƒvƒg‚̏ꍇ‚ɂ́A‚Ç‚ñ‚È‚É’·‚­ƒvƒƒ“ƒvƒg‚ª
  Žg‚í‚ê‚Ä‚àA‚¢‚Â‚à“¯‚¶ŽžŠÔ‚ð•\Ž¦‚·‚邱‚Æ‚É‚È‚è‚Ü‚·BƒoƒbƒNƒXƒ‰ƒbƒVƒ…‚ð
  ’u‚­‚±‚Æ‚É‚æ‚Á‚āA$()‚Ì“à—e‚ª‚·‚®‚É‚ÍŽÀs‚³‚ê‚È‚­‚È‚èA"date" ‚̓vƒƒ“
  ƒvƒg‚ª¶¬‚³‚ê‚é“x‚ÉŽÀs‚³‚ê‚邱‚Æ‚É‚È‚è‚Ü‚·B

  Linux ‚É‚Í‘½‚­‚̏¬‚³‚ȃ†[ƒeƒBƒŠƒeƒB‚ª‚‚¢‚Ä‚«‚Ü‚·BdateA grepA wc‚È
  ‚ǂŃf[ƒ^‚𑀍ì‚Å‚«‚Ü‚·B‚±‚̂悤‚ȃvƒƒOƒ‰ƒ€‚ðŽg‚Á‚Ä•¡ŽG‚ȃvƒƒ“ƒvƒg
  ‚ðì‚é‚ɂ́AƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚ðì‚Á‚āA‚»‚ê‚ðƒvƒƒ“ƒvƒg‚©‚çŽÀs‚³‚¹‚½•û
  ‚ª‚¢‚¢‚Å‚µ‚傤BƒXƒNƒŠƒvƒg‚Ì’†‚Å‚àƒRƒ}ƒ“ƒh‚ª³‚µ‚¢Žž‚ÉŽÀs‚³‚ê‚é‚悤A
  ƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚ª•K—v‚ɂȂ邱‚Æ‚ª‚ ‚è‚Ü‚·(ã‚ÌdateƒRƒ}ƒ“ƒh‚Ì—á‚Ì
  ‚悤‚É)BPS1‚̍s‚Ì’†‚ł̓Œƒxƒ‹‚ªˆê’iã‚ª‚邱‚Æ‚É‚È‚è‚Ü‚·‚̂ŁAƒVƒFƒ‹ƒX
  ƒNƒŠƒvƒg‚ðì‚邱‚Æ‚É‚æ‚肱‚ê‚ð”ð‚¯‚é‚Ì‚Í‚æ‚¢l‚¦‚Å‚·B

  ¬‚³‚ȃVƒFƒ‹ƒXƒNƒŠƒvƒg‚ðƒvƒƒ“ƒvƒg‚Ì’†‚ÅŽg‚¤—á‚ðŽ¦‚µ‚Ü‚µ‚傤B

  ______________________________________________________________________
  #!/bin/bash
  #     lsbytesum - sum the number of bytes in a directory listing
  TotalBytes=0
  for Bytes in $(ls -l | grep "^-" | cut -c30-41)
  do
      let TotalBytes=$TotalBytes+$Bytes
  done
  TotalMeg=$(echo -e "scale=3 \n$TotalBytes/1048576 \nquit" | bc)
  echo -n "$TotalMeg"
  ______________________________________________________________________

  ‚±‚̂悤‚È‚à‚Ì‚ðŠÖ”(‚Ì•û‚ªŒø—¦“I‚Å‚·‚ªA‚±‚Ì•¶‘‚ł͊֐”‚̏‘‚«•û‚ÍŽc
  ”O‚È‚ª‚爵‚¢‚Ü‚¹‚ñ)‚É‚µ‚½‚èAƒpƒX‚Ì’Ê‚Á‚Ä‚¢‚é  /bin ƒfƒBƒŒƒNƒgƒŠ‚Ì’†‚É
  ƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚Æ‚µ‚Ä•Û‘¶‚µ‚Ä‚¨‚«‚Ü‚·Bƒvƒƒ“ƒvƒg‚Ì’†‚Å‚ÌŽg‚¢•û‚́A

       [2158][giles@nikola:~]$ PS1="[\u@\h:\w (\$(lsbytesum) Mb)]\$ "
       [giles@nikola:~ (0 Mb)]$ cd /bin
       [giles@nikola:/bin (4.498 Mb)]$

  3.3.  ƒvƒƒ“ƒvƒg‚ɉ½‚ð’u‚­‚©

  Ž„‚ªŽ¦‚·ƒvƒƒ“ƒvƒg‚Ì—á‚ł́A‚Ù‚Æ‚ñ‚Ç‚¢‚Â‚àƒ†[ƒU[–¼A‹@ŠB–¼AŽžŠÔAŒ»
  Ý‚̃fƒBƒŒƒNƒgƒŠ–¼‚ª•\Ž¦‚³‚ê‚邱‚Æ‚É‚¨‹C‚«‚Å‚µ‚傤BŽžŠÔ‚ðœ‚¯‚΁A‚±
  ‚ê‚ç‚̓vƒƒ“ƒvƒg‚É•\Ž¦‚³‚ê‚é•W€‚Ì‚à‚̂ŁAŽžŠÔ‚Í‚¨‚»‚ç‚­‚»‚ÌŽŸ‚ɒljÁ‚³
  ‚ê‚邱‚Æ‚Ì‘½‚¢‚à‚Ì‚Å‚µ‚傤B‚Å‚à‰½‚ð‚¢‚ê‚é‚©‚́A‘S‚­ŒÂl‚ÌŽï–¡‚É‚©‚©‚é
  ‚à‚Ì‚Å‚·B‚±‚±‚ł́AŽ„‚Ì’m‚Á‚Ä‚¢‚él‚½‚¿‚Ì—á‚ðŽ¦‚µ‚Ä‚ ‚È‚½‚ÉŽQl‚É‚µ‚Ä
  ‚à‚ç‚¢‚Ü‚µ‚傤B

  Dan‚̃vƒƒ“ƒvƒg‚Í’Z‚¢‚¯‚ê‚Ç‚àŒø‰Ê“I‚Å‚·B“Á‚ɔނ̎dŽ–‚Ì‚â‚è•û‚É‚Æ‚Á
  ‚āB

  [giles@nikola:~]$ cur_tty=$(tty | sed -e "s/.*tty\(.*\)/\1/")
  [giles@nikola:~]$ echo $cur_tty
  p4
  [giles@nikola:~]$ PS1="\!,$cur_tty,\$?\$ "
  1095,p4,0$

  Dan‚́AƒfƒBƒŒƒNƒgƒŠƒcƒŠ[‚ð“®‚«‰ñ‚Á‚Ä‚¢‚éŠÔAƒvƒƒ“ƒvƒg‚Ì’·‚³‚ª‹}‚É‘å
  •‚É•Ï‚í‚é‚̂ŁAŒ»Ý‚̃fƒBƒŒƒNƒgƒŠ‚ð•\Ž¦‚·‚é‚͍̂D‚«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚¾
  ‚©‚ç‚»‚ê‚Í“ª‚É‚½‚½‚«ž‚ñ‚Å‚¨‚«‚Ü‚·(‚Ü‚½‚ÍpwdƒRƒ}ƒ“ƒh‚ðŽg‚¢‚Ü‚·)B”Þ‚Í
  Unix ‚ð csh ‚â tcsh ‚ÅŠw‚ñ‚¾‚̂ŁAƒRƒ}ƒ“ƒhƒqƒXƒgƒŠ[‚ð‚æ‚­Žg‚¢‚Ü
  ‚·(Bash Žg‚¢‚Í‚ ‚Ü‚è‚»‚¤‚Í‚µ‚È‚¢‚悤‚Å‚·)‚̂ŁAƒvƒƒ“ƒvƒg‚̍ŏ‰‚ɃqƒX
  ƒgƒŠ”ԍ†‚ð•\Ž¦‚µ‚Ü‚·BŽŸ‚É(tty ƒRƒ}ƒ“ƒh‚̏o—Í‚ð sed ‚ʼnÁH‚µ‚Ä)tty ‚Ì
  •¶Žš—ñ‚Ì’†‚Ì“Á’¥“I‚È•”•ª‚ð•\Ž¦‚µ‚Ü‚·B‚±‚ê‚Í "screen" ‚ðŽg‚Á‚Ä‚¢‚él‚Ì
  –ð‚É—§‚¿‚Ü‚·BŽO”ԖڂɁAÅŒã‚ÉŽg‚Á‚½ƒRƒ}ƒ“ƒh‚âƒpƒCƒvƒ‰ƒCƒ“‚Ì exit ’l‚ð
  •\Ž¦‚µ‚Ü‚·(‚±‚ê‚̓vƒƒ“ƒvƒg‚©‚çŽÀs‚³‚ê‚éƒRƒ}ƒ“ƒh‚ł͈Ӗ¡‚ª‚ ‚è‚Ü‚¹‚ñ
  ‚̂ŁAexit’l‚ð•Ê‚̕ϐ”‚É•ß‚¦‚Ä•\Ž¦‚·‚é‚悤‚È‚±‚Æ‚ðl‚¦‚é•K—v‚ª‚ ‚è‚Ü
  ‚·)BÅŒã‚É \$ ‚Œʏí‚̃†[ƒU[‚Å‚Í $ ‚ðAroot ‚ɑ΂µ‚Ä‚Í # ‚ð•\Ž¦‚·‚é
  ‚悤‚É‚µ‚Ü‚·B

  Torben Fjerdingstad ‚́AŽžXƒWƒ‡ƒu‚ðƒTƒXƒyƒ“ƒh‚µA‚»‚Ì‚±‚Ƃɂ‚¢‚Ä–Y‚ê
  ‚Ä‚µ‚Ü‚¤‚̂ŁAƒTƒXƒyƒ“ƒh’†‚̃Wƒ‡ƒu‚ðŽv‚¢o‚³‚¹‚Ä‚­‚ê‚éƒvƒƒ“ƒvƒg‚ðŽg‚Á
  ‚Ä‚¢‚é‚ƃ[ƒ‹‚µ‚Ä‚­‚ê‚Ü‚µ‚½B

       [giles@nikola:~]$ function jobcount {
       > jobs|wc -l| awk '{print $1}'
       > }
       [giles@nikola:~]$ export PS1='\W[`jobcount`]# '
       giles[0]# man ls &
       [1] 4150

       [1]+  Stopped (tty output)    man ls
       giles[1]#

  Torben ‚́Aawk‚Å wc ‚̏o—Í‚Ì’†‚̃Xƒy[ƒX‚ðí‚Á‚Ä‚¢‚Ü‚·BŽ„‚È‚ç sed ‚©
  tr ‚ðŽg‚¤‚±‚Æ‚Å‚µ‚傤B‚»‚Ì•û‚ª‚¢‚¢‚©‚ç‚Å‚Í‚È‚­A‚»‚Ì•û‚ªŠµ‚ê‚Ä‚¢‚é‚©
  ‚ç‚Å‚·B‘¼‚Ì•û–@‚à‚ ‚邱‚Æ‚Å‚µ‚傤BTorben ‚Í PS1 •¶Žš—ñ‚ðƒVƒ“ƒOƒ‹ƒNƒH
  [ƒg‚ň͂ñ‚Å‚¢‚Ü‚·‚ªA‚±‚ê‚Í Bash ‚ªƒoƒbƒNƒNƒH[ƒg‚𒼂¿‚ɉðŽß‚·‚é‚Ì‚ð
  –h‚¬‚Ü‚·BŽ„‚ªq‚ׂ½ƒGƒXƒP[ƒv‚Ì•û–@‚ÍŽg‚Á‚Ä‚¢‚Ü‚¹‚ñB

  ’ˆÓ: Bash 2.02 ‚ɂ̓VƒFƒ‹‚Ì‘g‚ݍž‚݃Rƒ}ƒ“ƒh‚Å‚ ‚é jobs ‚ªƒpƒCƒv‚ɉ½‚à
  “n‚³‚È‚¢‚Æ‚¢‚¤ƒoƒO‚ª’m‚ç‚ê‚Ä‚¢‚Ü‚·Bã‚̃R[ƒh‚ð Bash 2.02 ‚ÅŽŽ‚·‚ƁA
  ƒTƒXƒyƒ“ƒh‚µ‚½ƒWƒ‡ƒu‚ª‚¢‚­‚‚ ‚Á‚Ä‚à0‚ª‹A‚Á‚Ä‚«‚Ü‚·BBash ‚Ì•ÛŽç‚ð‚µ‚Ä
  ‚¢‚éˆêl‚Å‚ ‚é Chet Ramey ‚́Av2.03 ‚Å‚Í‚±‚ê‚𒼂·‚ÆŒ¾‚Á‚Ä‚¢‚Ü‚·B

  3.4.  Bash ‚̊‹«‚Ɗ֐”

  ‚·‚łɏq‚ׂ½‚悤‚ɁAPS1APS2APS3APS4APROMPT_COMMAND ‚Í‚·‚×‚Ä Bash
  ‚̊‹«‚É•Û‘¶‚³‚ê‚Ü‚·BŽ„‚½‚¿‚̂悤‚É DOS ‚©‚ç‚«‚½‚à‚Ì‚É‚Æ‚Á‚āA DOS ‚Ì
  ŠÂ‹«—̈æ‚Í‹·‚­A‚¤‚Ü‚­Šg’£‚Å‚«‚È‚©‚Á‚½‚̂ŁAŠÂ‹«‚É‘½‚­‚Ì•¶Žš‚ð‚¢‚ê‚é‚Ì
  ‚Í‹°•|‚Å‚·B‚¨‚»‚ç‚­ŠÂ‹«‚Ì‘å‚«‚³‚É‚ÍŽÀÛã‚̏ãŒÀ‚ª‚ ‚é‚Ì‚Å‚µ‚傤‚ªAŽ„
  ‚Í’m‚è‚Ü‚¹‚ñ‚µADOS ƒ†[ƒU[‚ªŠµ‚ê‚Ä‚¢‚½‘å‚«‚³‚̉½”{‚à‚̃I[ƒ_[‚̘b‚È
  ‚Ì‚Å‚µ‚傤BDan ‚ÍŽŸ‚̂悤‚ÉŒ¾‚Á‚Ä‚¢‚Ü‚·B

  uŽ„‚ÌŽg‚Á‚Ä‚¢‚é‘ΘbŒ^‚̃VƒFƒ‹‚ɂ́AƒGƒCƒŠƒAƒX‚ª62‚Ɗ֐”‚ª25‚ ‚éB‘Θb
  Œ^‚¾‚¯‚ÅŽg‚¤‚à‚̂ŁAŠÈ’P‚É bash ‚ŏ‘‚¯‚éê‡‚́AŠÖ”‚É‚µ‚Ä‚¢‚é (ƒGƒCƒŠ
  ƒAƒX‚ŏ‘‚­‚ɂ͓‚¢ê‡)B‚à‚µƒƒ‚ƒŠ‚ª‹C‚É‚È‚é‚È‚çAbash ‚ðŽg‚í‚È‚¢•û
  ‚ª‚¢‚¢‚¾‚낤Bbash ‚ÍŽ„‚Ì linux box ‚Å“®‚¢‚Ä‚¢‚éƒvƒƒOƒ‰ƒ€‚Ì’†‚Å
  Oracle ‚ÌŽŸ‚É‘å‚«‚¢Btop ƒRƒ}ƒ“ƒh‚ðŽžX“®‚©‚µ‚āAM ‚ð‰Ÿ‚µ‚ăƒ‚ƒŠ‚Ì‘å
  ‚«‚³‚Ń\[ƒg‚µ‚Ä‚²‚ç‚ñBbash ‚ª‚Ù‚Æ‚ñ‚Ljê”ԏã‚É‹ß‚¢‚Æ‚±‚ë‚É‚ ‚é‚Ì‚ª‚í
  ‚©‚邾‚낤Bsendmail ‚æ‚è‘å‚«‚¢‚ñ‚¾‚æ! ƒƒ‚ƒŠ‚ª‹C‚É‚È‚é‚È‚ç ash ‚̂悤
  ‚È‚à‚Ì‚ðŽg‚¦‚΂¢‚¢Bv

  ‚±‚¤‘‚¢‚½Žž”ނ̓Rƒ“ƒ\[ƒ‹‚¾‚¯‚ðŽg‚Á‚Ä‚¢‚½‚Ì‚Å‚µ‚傤BX ‚â X ƒAƒvƒŠƒP
  [ƒVƒ‡ƒ“‚ð“®‚©‚¹‚΁ABash ‚æ‚è‘å‚«‚¢‚Ì‚ª‚¢‚Á‚Ï‚¢‚ ‚è‚Ü‚·B‚Å‚àl‚¦•û‚Í
  “¯‚¶‚Å‚·BŠÂ‹«‚ÍŽg‚¤‚ׂ«‚à‚̂ŁAŽg‚¢‰ß‚¬‚ðS”z‚·‚é•K—v‚Í‚È‚¢‚Ì‚Å‚·‚©
  ‚çB

  ‚±‚¤‘‚­‚ƁAUnix ‚Ì“±Žt‚½‚¿‚É‚Í’Pƒ‰»‚µ‚·‚¬‚Ä‚¢‚é‚ÆŒŸ‰{‚ðŽó‚¯‚é‚©‚à‚µ
  ‚ê‚Ü‚¹‚ñB‚µ‚©‚µŠÖ”‚ÍŠî–{“I‚ɏ¬‚³‚ȃVƒFƒ‹ƒXƒNƒŠƒvƒg‚ŁAŒø—¦‚Ì‚½‚ß‚ÉŠÂ
  ‹«‚ɓǂݍž‚Ü‚ê‚Ä‚¢‚Ü‚·BDan ‚ÌŒ¾—t‚ðŽØ‚è‚ê‚΁uƒVƒFƒ‹ŠÖ”‚́AŒÀŠE‚É‹ß‚¢
  ‚Æ‚±‚ë‚Ü‚ÅŒø—¦“I‚¾BƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚ð source ‚·‚é‚Ì‚Æ‚Ù‚Ú“¯—l‚Ì‚±‚Æ‚ð
  ƒtƒ@ƒCƒ‹“üo—Í‚È‚µ‚ÉŽÀs‚Å‚«‚éB‚·‚łɃƒ‚ƒŠ‚ɓǂݍž‚Ü‚ê‚Ä‚¢‚é‚©‚炾B
  ƒVƒFƒ‹ŠÖ”‚͒ʏ탍ƒOƒCƒ“ƒVƒFƒ‹‚©ƒTƒuƒVƒFƒ‹‚©‚É‚æ‚Á‚āA.bashrc ‚©
  .bash_profile ƒtƒ@ƒCƒ‹‚©‚ç“ǂݍž‚Ü‚ê‚éBƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚ð“®‚©‚·ê‡‚É
  ‚́AŒ»Ý‚̃VƒFƒ‹‚Í fork ‚µAŽqƒvƒƒZƒX‚ª exec ‚ðs‚È‚¢A‚¨‚»‚ç‚­ƒpƒX‚ª
  ’T‚³‚êAƒJ[ƒlƒ‹‚̓tƒ@ƒCƒ‹‚ðŠJ‚«AŽÀs‚·‚é‚̂ɏ\•ª‚ȃƒ‚ƒŠ‚ª‚ ‚é‚©Šm‚©
  ‚߁AƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚Å‚ ‚Á‚½ê‡‚ɂ͐V‚µ‚¢ƒVƒFƒ‹‚ðƒXƒNƒŠƒvƒg–¼‚ðˆø”‚Æ
  ‚µ‚Ä—^‚¦‚Ä‹N“®‚µA‚»‚̃VƒFƒ‹‚ªƒtƒ@ƒCƒ‹‚ðŠJ‚¢‚āAŠes‚ðŽÀs‚·‚éBƒVƒFƒ‹
  ŠÖ”‚̏ꍇ‚Æ”ä‚ׂé‚ƁAŠes‚ðŽÀs‚·‚éˆÈŠO‚Ì•”•ª‚Í•s•K—v‚ȃI[ƒo[ƒwƒbƒh
  ‚É‚·‚¬‚È‚¢Bv

  4.  Xterm‚̃^ƒCƒgƒ‹ƒo[‚Ì‘€ì

  •\Ž¦‚³‚ê‚È‚¢ƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚̓vƒƒ“ƒvƒg‚É‹»–¡[‚¢Œø‰Ê‚ð‚à‚½‚ç‚·‚½
  ‚ß‚É—p‚¢‚ç‚ê‚Ü‚·B‚±‚̂悤‚ȃGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚ð—p‚¢‚é‚ɂ́A\[ ‚Æ \]
  ‚ň͂ñ‚Å‚â‚èABash‚ªƒvƒƒ“ƒvƒg‚Ì‘å‚«‚³‚ðŒvŽZ‚·‚鎞‚É–³Ž‹‚³‚¹‚Ü‚·B‚±‚Ì
  ‹æØ‚è‚ð“ü‚ê‚Ä‚â‚ç‚È‚¢‚ƁAs•ÒW‚̍ۂ̃J[ƒ\ƒ‹‚̈ʒu‚ÌŒvŽZ‚ªˆá‚Á‚Ä‚«‚Ü
  ‚·BƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚́Aƒo[ƒWƒ‡ƒ“2‚æ‚èˆÈ‘O‚Ì Bash ‚Å‚Í \033[ ‚©‚ç
  ‚Í‚¶‚߁A‚»‚êˆÈ~‚̃o[ƒWƒ‡ƒ“‚ł́A\033[ ‚Å‚à \e[ ‚Å‚à‚Í‚¶‚߂邱‚Æ‚ª‚Å
  ‚«‚Ü‚·B

  ƒRƒ“ƒ\[ƒ‹‚ðŽg‚Á‚Ä‚¢‚鎞‚É Xterm ‚̃^ƒCƒgƒ‹ƒo[‚ð•Ï‚¦‚悤‚Æ‚·‚é‚ƁAƒv
  ƒƒ“ƒvƒg‚É‚²‚Ý‚ª“ü‚è‚Ü‚·B‚±‚ê‚ð”ð‚¯‚é‚ɂ͊‹«•Ï” TERM ‚𒲂ׂāA
  Xterm ‚ÌŽž‚¾‚¯‚»‚̃vƒƒ“ƒvƒg‚ðŽg‚¤‚悤‚É‚µ‚Ü‚·B

  ______________________________________________________________________
  function proml
  {
  case $TERM in
      xterm*)
          local TITLEBAR='\[\033]0;\u@\h:\w\007\]'
          ;;
      *)
          local TITLEBAR=''
          ;;
  esac

  PS1="${TITLEBAR}\
  [\$(date +%H%M)]\
  [\u@\h:\w]\
  \$ "
  PS2='> '
  PS4='+ '
  }
  ______________________________________________________________________

  ‚±‚ê‚́A /.bashrc ‚ɏ‘‚¢‚Ä‚¨‚­ŠÖ”‚Å‚·B‚±‚̊֐”–¼‚ðŒÄ‚Ô‚ÆŽÀs‚³‚ê‚Ü
  ‚·BŠÖ”‚́APS1 •¶Žš—ñ‚Æ“¯—lŠÂ‹«‚É’u‚©‚ê‚Ü‚·BPS1 •Ï”‚ª‚±‚̊֐”‚Å’è‹`
  ‚³‚ꂽ‚çA‚±‚̊֐”‚ðunset proml‚Ŋ‹«‚©‚çŽæ‚菜‚­‚±‚Æ‚ª‚Å‚«‚Ü‚·B
  Xterm ‚É‚¢‚éŠÔ‚̓Rƒ“ƒ\[ƒ‹‚É•Ï‚í‚邱‚Æ‚ª‚ ‚è‚Ü‚¹‚ñ‚©‚çA•Ï”TERM‚ðƒvƒ
  ƒ“ƒvƒg‚ðo‚·“x‚Ƀ`ƒFƒbƒN‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñBŒp‘±s‚Ì‚µ‚邵 (ƒoƒbƒNƒX
  ƒ‰ƒbƒVƒ…)‚ðƒvƒƒ“ƒvƒg‚Ì’è‹`‚Ì’†‚ÅŽg‚Á‚Ä‚¢‚é‚̂́A•¡”s‚É‚Ü‚½‚ª‚é‚悤
  ‚É‚µ‚āA“ǂ݈Ղ³‚𑝂µAC³‚µ‚½‚èAƒfƒoƒbƒO‚·‚é‚Ì‚ð—eˆÕ‚É‚µ‚Ä‚¢‚Ü‚·B

  ‚±‚ê‚ðŠÖ”‚É‚µ‚Ä‚ ‚é‚̂́AŒã‚Åà–¾‚·‚é Bashprompt ƒpƒbƒP[ƒW‚Ì‚â‚è•û‚Å
  ‚·B‚±‚¤‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA‚±‚Ì‚â‚è•û‚Í‚¤‚Ü
  ‚­‚¢‚«‚Ü‚·B‚ ‚È‚½‚ÌŽg‚¤ƒvƒƒ“ƒvƒg‚ª•¡ŽG‚É‚È‚Á‚Ä‚­‚ê‚΂­‚é‚قǁA‚»‚ê‚ð
  ƒvƒƒ“ƒvƒg‚Ì‚Æ‚±‚ë‚Ń^ƒCƒv‚·‚é‚Ì‚Í–Ê“|‚É‚È‚èAƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Å•Û‘¶‚·
  ‚é•K—v‚ª¶‚¶‚Ä‚«‚Ü‚·B¡‰ñ‚͏ã‚̊֐”‚ð proml ‚Æ‚¢‚¤ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚É
  •Û‘¶‚µ‚Ü‚µ‚傤BŽŸ‚̂悤‚É‚µ‚Ü‚·B

       [giles@nikola:/bin (4.498 Mb)]$ cd          -> ƒvƒƒ“ƒvƒg‚ð•Û‘¶‚µ‚½‚¢ƒfƒBƒŒƒNƒgƒŠ‚Ɉړ®
       [giles@nikola:~ (0 Mb)]$ vi proml           -> ƒvƒƒ“ƒvƒgƒtƒ@ƒCƒ‹‚ð•ÒW
       ...                                         -> ã‚̃eƒLƒXƒg‚ð“ü—Í
       [giles@nikola:~ (0 Mb)]$ source proml       -> ƒvƒƒ“ƒvƒgŠÖ”‚̓ǂݍž‚Ý
       [giles@nikola:~ (0 Mb)]$ proml              -> ƒvƒƒ“ƒvƒgŠÖ”‚ÌŽÀs

  ‚±‚̃vƒƒ“ƒvƒg‚ðì¬‚·‚é‘æˆê’iŠK‚́AƒVƒFƒ‹‚ª xterm ‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN
  ‚·‚邱‚Æ‚Å‚·B‚à‚µxterm‚È‚çAƒVƒFƒ‹•Ï”(${TITLEBAR})‚ª’è‹`‚³‚ê‚Ü‚·B‚»
  ‚Ì“à—e‚Í“KØ‚ȃGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚Æ\u@\h:\w‚ŁA‚»‚ÌŒ‹‰ÊA <ƒ†[ƒU[
  –¼>@<ƒ}ƒVƒ“–¼>:<ƒfƒBƒŒƒNƒgƒŠ>‚ª Xterm ‚̃^ƒCƒgƒ‹ƒo[‚É•\Ž¦‚³‚ê‚Ü‚·B‚±
  ‚ê‚Í“Á‚É Xterm ‚ðÅ¬‰»‚µ‚½Žž‚É“¯’肵‚â‚·‚­‚µ‚Ä‚­‚ê‚Ü‚·B‚±‚̃vƒƒ“ƒv
  ƒg‚Ì‚»‚êˆÈŠO‚Ì•”•ª‚Í‚·‚łɍ¡‚܂ōì‚Á‚½ƒvƒƒ“ƒvƒg‚Å‚¨‚È‚¶‚Ý‚Ì‚à‚Ì‚Å‚·B

  ‚±‚̂悤‚É Xterm ‚̃^ƒCƒgƒ‹ƒo[‚𑀍삷‚é—Bˆê‚̃fƒƒŠƒbƒg‚́A‚±‚̂悤
  ‚ȃ^ƒCƒgƒ‹ƒo[‚É‚È‚é‚悤‚ɃZƒbƒg‚µ‚Ä‚¢‚È‚¢‹@ŠB‚ðŽg‚Á‚½‚Æ‚«Aƒ^ƒCƒgƒ‹ƒo
  [‚ªŒ³‚Ì‚Ü‚Ü‚É‚È‚Á‚Ä‚µ‚Ü‚¤‚±‚Æ‚Å‚·B

  5.  ANSI ƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX: F‚ƃJ[ƒ\ƒ‹‘€ì

  5.1.  F

  ‚·‚łɏq‚ׂ½‚悤‚É•\Ž¦‚³‚ê‚È‚¢ƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚́A\[\033[ ‚Æ \] ‚Å
  ˆÍ‚ñ‚Å‚â‚é•K—v‚ª‚ ‚è‚Ü‚·BF‚̃GƒXƒP[ƒvƒV[ƒPƒ“ƒX‚̏ꍇ‚ÍŒã‚ë‚É m\]
  ‚ð‚‚¯‚Ä‚â‚é•K—v‚ª‚ ‚è‚Ü‚·B

  ‚à‚µ‚±‚ê‚©‚çà–¾‚·‚éƒvƒƒ“ƒvƒg‚ðŽŽ‚µ‚Ă݂āAŽw’肵‚½F‚ª‚¤‚Ü‚­•\Ž¦‚³‚ê
  ‚È‚¢‚È‚çA /.Xdefaults ƒtƒ@ƒCƒ‹(‚ ‚é‚¢‚Í‚»‚ê‚Æ“¯“™‚̃tƒ@ƒCƒ‹)‚É
  "XTerm*Foreground: BlanchedAlmond" ‚̂悤‚ȍs‚ª‚È‚¢‚©’²‚ׂĂ­‚¾‚³‚¢B
  ‚±‚Ì‘O‚É!ƒ}[ƒN‚ð‚‚¯‚邱‚Æ‚É‚æ‚Á‚āAƒRƒƒ“ƒgƒAƒEƒg‚·‚邱‚Æ‚ª‚Å‚«‚Ü
  ‚·B‚±‚ê‚́A‚ ‚È‚½‚ª‚ǂ̂悤‚È’[––ƒGƒ~ƒ…ƒŒ[ƒ^‚ðŽg‚Á‚Ä‚¢‚é‚©‚É‚àˆË‘¶‚µ
  ‚Ü‚·B‚ ‚È‚½‚Ì’[––‚̐F‚ªã‘‚«‚³‚ê‚é‰Â”\«‚Ì‚à‚Á‚Æ‚à‚‚¢‚Ì‚ª‚±‚̃tƒ@ƒC
  ƒ‹‚Å‚·B

  ƒvƒƒ“ƒvƒg‚Ƀuƒ‹[‚̃eƒLƒXƒg‚ð“ü‚ê‚é‚ɂ́A

       PS1="\[\033[34m\][\$(date +%H%M)][\u@\h:\w]$ "

  ‚±‚̃vƒƒ“ƒvƒg‚Ì–â‘è‚́A34‚̃Jƒ‰[ƒR[ƒh‚Å•Ï‚¦‚½ƒuƒ‹[‚̐F‚ª‚à‚Ƃ̐F‚É
  –ß‚ç‚È‚¢‚̂ŁAƒvƒƒ“ƒvƒg‚ÌŒã‚Ƀ^ƒCƒv‚µ‚½•¶Žš‚àƒvƒƒ“ƒvƒg‚Æ“¯‚¶F‚É‚È‚Á
  ‚Ä‚µ‚Ü‚¤‚±‚Æ‚Å‚·B‚Ü‚½A‚±‚̃uƒ‹[‚͈¢‚̂ŁAbold ƒR[ƒh‚à‘g‚ݍ‡‚킹
  ‚Ü‚·B

       PS1="\[\033[1;34m\][\$(date +%H%M)][\u@\h:\w]$\[\033[0m\] "

  ƒvƒƒ“ƒvƒg‚Í–¾‚é‚¢ƒuƒ‹[‚É•Ï‚í‚èAÅŒã‚ɐF‚ð‚È‚µ‚É‚µ‚Ä‚¢‚Ü‚·B(F‚È‚µ
  ‚́AŒ³‚̃tƒHƒAƒOƒ‰ƒEƒ“ƒhƒJƒ‰[‚Å‚·B)

  F‚ÍŽŸ‚̂悤‚É’è‹`‚³‚ê‚Ä‚¢‚Ü‚·B

       Black       0;30     Dark Gray     1;30
       Blue        0;34     Light Blue    1;34
       Green       0;32     Light Green   1;32
       Cyan        0;36     Light Cyan    1;36
       Red         0;31     Light Red     1;31
       Purple      0;35     Light Purple  1;35
       Brown       0;33     Yellow        1;33
       Light Gray  0;37     White         1;37

  ƒoƒbƒNƒOƒ‰ƒEƒ“ƒhƒJƒ‰[‚à‚±‚Ì•û–@‚ÅŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B‚½‚Æ‚¦‚Î44‚È
  ‚çƒuƒ‹[A41‚È‚çÔ‚Æ‚¢‚¤‚Ó‚¤‚É‚È‚Á‚Ä‚¢‚Ü‚·BƒoƒbƒNƒOƒ‰ƒEƒ“ƒhƒJƒ‰[‚É‚Í
  ƒ{[ƒ‹ƒh‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚¹‚ñBƒuƒ‹[‚Ì”wŒi‚Ƀ‰ƒCƒgƒŒƒbƒh‚̃eƒLƒXƒg‚ð•\Ž¦
  ‚·‚é‚È‚çA \[\033[44;1;31m\] ‚̂悤‚É‘g‚ݍ‡‚킹‚ÄŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚ªA
  \[\033[44m\]\[\033[1;31m\] ‚̂悤‚É•ª‚¯‚Đݒ肵‚½•û‚ª‚¢‚¢‚悤‚Å‚·B‘¼
  ‚̃R[ƒh‚Æ‚µ‚ẮA4:‰ºüA5:“_–ŁA7:‹t“]A8:”ñ•\Ž¦‚È‚Ç‚ª‚ ‚è‚Ü‚·B

  ’:‘½‚­‚̐l(Ž„‚ðŠÜ‚ß)‚́A“_–Å‘®«‚É‹­‚­”½‘΂µ‚Ü‚·BK‚¢‚±‚ê‚Í’[––ƒG
  ƒ~ƒ…ƒŒ[ƒ^‚ł͍쓮‚µ‚Ü‚¹‚ñ‚ªAƒRƒ“ƒ\[ƒ‹‚Å‚Í‹@”\‚µ‚Ü‚·B‚Ü‚½A (Ž„‚ª‚»
  ‚¤‚Å‚ ‚é‚悤‚É)”ñ•\Ž¦‘®«‚͉½‚Ì‚½‚ß‚É‚ ‚é‚Ì‚¾‚낤‚ÆŽv‚¤‚Å‚µ‚傤B (ƒv
  ƒƒ“ƒvƒg‚Å‚Í‚È‚­)ƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚Ì—á‚ŁAƒpƒXƒ[ƒh‚ð“ü—Í‚µ‚Ä‚àƒXƒNƒŠ
  [ƒ“‚É•\Ž¦‚³‚ê‚È‚¢‚悤‚ÉŽg‚í‚ê‚Ä‚¢‚é‚Ì‚ðŒ©‚½‚±‚Æ‚ª‚ ‚è‚Ü‚·B

  Bashprompt ƒpƒbƒP[ƒW‚Ì’†‚Ì elite2 ‚Æ‚¢‚¤ƒvƒƒ“ƒvƒg‚ð(Œ³‚Ì‚ª xterm ‚Ì
  ƒtƒHƒ“ƒg‚Å—p‚¢‚é‚悤‚É‚È‚Á‚Ä‚¢‚½‚̂ŁAƒRƒ“ƒ\[ƒ‹‚ÅŽg‚¦‚é‚悤‚É)C³‚µ
  ‚½‚à‚̂́AŽ„‚Ì‚æ‚­Žg‚Á‚Ä‚¢‚½‚à‚Ì‚Å‚·B

  ______________________________________________________________________

  function elite
  {

  local GRAY="\[\033[1;30m\]"
  local LIGHT_GRAY="\[\033[0;37m\]"
  local CYAN="\[\033[0;36m\]"
  local LIGHT_CYAN="\[\033[1;36m\]"

  case $TERM in
      xterm*)
          local TITLEBAR='\[\033]0;\u@\h:\w\007\]'
          ;;
      *)
          local TITLEBAR=""
          ;;
  esac

  local GRAD1=$(tty|cut -d/ -f3)
  PS1="$TITLEBAR\
  $GRAY-$CYAN-$LIGHT_CYAN(\
  $CYAN\u$GRAY@$CYAN\h\
  $LIGHT_CYAN)$CYAN-$LIGHT_CYAN(\
  $CYAN\#$GRAY/$CYAN$GRAD1\
  $LIGHT_CYAN)$CYAN-$LIGHT_CYAN(\
  $CYAN\$(date +%H%M)$GRAY/$CYAN\$(date +%d-%b-%y)\
  $LIGHT_CYAN)$CYAN-$GRAY-\
  $LIGHT_GRAY\n\
  $GRAY-$CYAN-$LIGHT_CYAN(\
  $CYAN\$$GRAY:$CYAN\w\
  $LIGHT_CYAN)$CYAN-$GRAY-$LIGHT_GRAY "
  PS2="$LIGHT_CYAN-$CYAN-$GRAY-$LIGHT_GRAY "
  }
  ______________________________________________________________________

  F‚ðˆêŽž“IƒVƒFƒ‹•Ï”‚Æ‚µ‚ēǂ݈Ղ¢‚à‚Ì‚É’è‹`‚µ‚Ü‚·BGRAD1 •Ï”‚ÍŽg‚Á‚Ä
  ‚¢‚é’[––‚ðŒˆ‚ß‚é‚Ì‚É—p‚¢‚Ä‚¢‚Ü‚·BXterm ã‚©‚Ç‚¤‚©‚̃`ƒFƒbƒN‚Æ“¯—lA‚±
  ‚ê‚àˆê“xs‚È‚¦‚Ώ\•ª‚Å‚·BŒ‹‰Ê‚͐F‚ðœ‚¯‚΂±‚̂悤‚ÉŒ©‚¦‚Ü‚·B

       --(giles@nikola)-(75/ttyp7)-(1908/12-Oct-98)--
       --($:~/tmp)--

  ‚Ç‚ñ‚ȐF‚ªŽg‚¦‚é‚Ì‚©‚ðŽv‚¢o‚·‚½‚߂ɁAŽŸ‚̃XƒNƒŠƒvƒg‚Í‚·‚ׂĂ̐F‚ðƒXƒN
  ƒŠ[ƒ“‚ɃGƒR[‚µ‚Ü‚·B

  ______________________________________________________________________
  #!/bin/bash
  #
  #   ‚±‚̃tƒ@ƒCƒ‹‚́A—lX‚ȃJƒ‰[ƒR[ƒh‚ð’[––‚ɃGƒR[‚µA‚Ç‚ñ‚ȐF‚ª
  #   Žg—p‰Â”\‚©‚ðŽ¦‚µ‚Ü‚·B
  #   ‚»‚ꂼ‚ê‚̍s‚ł́A•‚ƃOƒŒƒC‚Ì”wŒi‚̏ã‚Ɉê‚‚̐F‚ðŽ¦‚µAƒR[ƒh‚𒆉›‚É
  #   •\Ž¦‚µ‚Ä‚¢‚Ü‚·B”’A•AƒOƒŠ[ƒ“‚Ì”wŒiF‚ÅŠm”F‚µ‚Ä‚ ‚è‚Ü‚·B(2 Dec 98)
  #
  echo "  On Light Gray:        On Black:"
  echo -e "\033[47m\033[1;37m  White        \033[0m\
   1;37m \
  \033[40m\033[1;37m  White        \033[0m"
  echo -e "\033[47m\033[37m  Light Gray   \033[0m\
     37m \
  \033[40m\033[37m  Light Gray   \033[0m"
  echo -e "\033[47m\033[1;30m  Gray         \033[0m\
   1;30m \
  \033[40m\033[1;30m  Gray         \033[0m"
  echo -e "\033[47m\033[30m  Black        \033[0m\
     30m \
  \033[40m\033[30m  Black        \033[0m"
  echo -e "\033[47m\033[31m  Red          \033[0m\
     31m \
  \033[40m\033[31m  Red          \033[0m"
  echo -e "\033[47m\033[1;31m  Light Red    \033[0m\
   1;31m \
  \033[40m\033[1;31m  Light Red    \033[0m"
  echo -e "\033[47m\033[32m  Green        \033[0m\
     32m \
  \033[40m\033[32m  Green        \033[0m"
  echo -e "\033[47m\033[1;32m  Light Green  \033[0m\
   1;32m \
  \033[40m\033[1;32m  Light Green  \033[0m"
  echo -e "\033[47m\033[33m  Brown        \033[0m\
     33m \
  \033[40m\033[33m  Brown        \033[0m"
  echo -e "\033[47m\033[1;33m  Yellow       \033[0m\
   1;33m \
  \033[40m\033[1;33m  Yellow       \033[0m"
  echo -e "\033[47m\033[34m  Blue         \033[0m\
     34m \
  \033[40m\033[34m  Blue         \033[0m"
  echo -e "\033[47m\033[1;34m  Light Blue   \033[0m\
   1;34m \
  \033[40m\033[1;34m  Light Blue   \033[0m"
  echo -e "\033[47m\033[35m  Purple       \033[0m\
     35m \
  \033[40m\033[35m  Purple       \033[0m"
  echo -e "\033[47m\033[1;35m  Pink         \033[0m\
   1;35m \
  \033[40m\033[1;35m  Pink         \033[0m"
  echo -e "\033[47m\033[36m  Cyan         \033[0m\
     36m \
  \033[40m\033[36m  Cyan         \033[0m"
  echo -e "\033[47m\033[1;36m  Light Cyan   \033[0m\
   1;36m \
  \033[40m\033[1;36m  Light Cyan   \033[0m"
  ______________________________________________________________________

  5.2.  ƒJ[ƒ\ƒ‹‘€ì

  ANSIƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚ŃJ[ƒ\ƒ‹‚ðƒXƒNƒŠ[ƒ“ã‚ÅŽ©—R‚É“®‚©‚¹‚Ü‚·B‚±
  ‚ê‚̓VƒFƒ‹ƒXƒNƒŠƒvƒg‚Ńtƒ‹ƒXƒNƒŠ[ƒ“‚̃†[ƒU[ƒCƒ“ƒ^[ƒtƒF[ƒX‚ðì‚鎞
  ‚É–ð‚É—§‚¿‚Ü‚·‚ªAƒvƒƒ“ƒvƒg‚Å‚àŽg‚¦‚Ü‚·BƒJ[ƒ\ƒ‹‘€ìƒGƒXƒP[ƒvƒV[ƒP
  ƒ“ƒX‚ÍŽŸ‚Ì‚Æ‚¨‚è‚Å‚·B

       - ƒJ[ƒ\ƒ‹‚̈ʒu‚ðŒˆ‚ß‚éB
         \033[<L>;<C>H
         ƒJ[ƒ\ƒ‹‚ð L s C —ñ‚É’u‚«‚Ü‚·B
       - ƒJ[ƒ\ƒ‹‚ð N sã‚É“®‚©‚·B
         \033[<N>A
       - ƒJ[ƒ\ƒ‹‚ð N s‰º‚É“®‚©‚·B
         \033[<N>B
       - ƒJ[ƒ\ƒ‹‚ð C —ñ‰E‚É“®‚©‚·B
         \033[<>C
       - ƒJ[ƒ\ƒ‹‚ð C —ñ¶‚É“®‚©‚·B
         \033[<C>D

       - ƒJ[ƒ\ƒ‹‚̈ʒu‚ð‹L‰¯‚·‚éB
         \033[s
       - ‹L‰¯‚µ‚Ä‚¢‚½ƒJ[ƒ\ƒ‹‚̈ʒu‚É–ß‚·B
         \033[u

  ÅŒã‚Ì“ñ‚‚̃R[ƒh‚Í‘½‚­‚Ì’[––ƒGƒ~ƒ…ƒŒ[ƒ^‚ÅŽÀŒ»‚³‚ê‚Ä‚¢‚Ü‚¹‚ñBŽ„‚Ì
  ’m‚Á‚Ä‚¢‚éŒÀ‚è‚ł́Axterm ‚Æ nxterm ‚Å‚ÍŽÀŒ»‚³‚ê‚Ä‚¢‚Ü‚·B‘½‚­‚Ì’[––ƒG
  ƒ~ƒ…ƒŒ[ƒ^‚ª xterm ‚̃R[ƒh‚ÉŠî‚¢‚Ä‚¢‚é‚É‚à‚©‚©‚í‚炸BŽ„‚ªŠm”F‚µ‚½
  ŒÀ‚èArxvtAkvtA xitermAEterm ‚̓Tƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñBƒRƒ“ƒ\[ƒ‹‚Å‚Í
  ƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚·B

  ŽŸ‚̃R[ƒh‚ðƒvƒƒ“ƒvƒg‚É‚¢‚ê‚Ă݂ĉº‚³‚¢B(‚±‚ꂪ‰½‚ð‚µ‚Ä‚¢‚é‚Ì‚©‚ð
  ‚Í‚Á‚«‚肳‚¹‚é‚ɂ́A’[––‚̏ォ‚牽s‚©‰º‚Å‚±‚ê‚ðŽÀs‚µ‚ĉº‚³‚¢B) echo
  -en "\033[7A\033[1;35m BASH \033[7B\033[6D" ‚±‚ê‚́AƒJ[ƒ\ƒ‹‚ð7sã‚É
  ã‚°‚Ä" BASH "‚Æ•\Ž¦‚µAŒ³‚̃vƒƒ“ƒvƒg‚Ì‚Æ‚±‚ë‚ɃJ[ƒ\ƒ‹‚ð–ß‚µ‚Ü‚·B‚±
  ‚ê‚̓vƒƒ“ƒvƒg‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‰½‚ª‹N‚±‚Á‚Ä‚¢‚é‚©‚ð‚Í‚Á‚«‚肳‚¹‚邽‚ß‚É
  F‚ð•Ï‚¦‚āAƒJ[ƒ\ƒ‹‚ðƒXƒNƒŠ[ƒ“ã‚Å“®‚©‚µ‚Ä‚Ý‚¹‚Ä‚¢‚邾‚¯‚Å‚·B

  ŽŸ‚ð"clock"‚Æ‚¢‚¤–¼‘O‚̃tƒ@ƒCƒ‹‚É“ü‚ê‚ĉº‚³‚¢B

  ______________________________________________________________________
  #!/bin/bash

  function prompt_command {
  let prompt_x=$COLUMNS-5
  }

  PROMPT_COMMAND=prompt_command

  function clock {
  local       BLUE="\[\033[0;34m\]"
  local        RED="\[\033[0;31m\]"
  local  LIGHT_RED="\[\033[1;31m\]"
  local      WHITE="\[\033[1;37m\]"
  local  NO_COLOUR="\[\033[0m\]"
  case $TERM in
      xterm*)
          TITLEBAR='\[\033]0;\u@\h:\w\007\]'
          ;;
      *)
          TITLEBAR=""
          ;;
  esac

  PS1="${TITLEBAR}\
  \[\033[s\033[1;\$(echo -n \${prompt_x})H\]\
  $BLUE[$LIGHT_RED\$(date +%H%M)$BLUE]\[\033[u\033[1A\]
  $BLUE[$LIGHT_RED\u@\h:\w$BLUE]\
  $WHITE\$$NO_COLOUR "
  PS2='> '
  PS4='+ '
  }
  ______________________________________________________________________

  ‚±‚̃vƒƒ“ƒvƒg‚ōs‚È‚í‚ê‚Ä‚¢‚邱‚Æ‚Í”äŠr“I’Pƒ‚ŁA’[––‚̉Eã‚É24ŽžŠÔ§
  ‚ÌŽž‚ª•\Ž¦‚³‚ê‚Ü‚·B(’[––‚̃TƒCƒY‚ð•Ï‚¦‚Ä‚à‘åä•v‚Å‚·B)‚±‚ê‚́AƒJ[
  ƒ\ƒ‹‚̈ʒu‚Ì‹L‰¯‚Ɖñ•œ‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢’[––ƒGƒ~ƒ…ƒŒ[ƒ^‚Å‚Í‚¤‚Ü‚­‚¢
  ‚«‚Ü‚¹‚ñB‚»‚̂悤‚È’[––ƒGƒ~ƒ…ƒŒ[ƒ^‚Å‚±‚ê‚ðŽÀs‚·‚é‚ƁAŽž‚͐³Šm‚É•\
  Ž¦‚³‚ê‚Ü‚·‚ªAƒvƒƒ“ƒvƒg‚Í’[––‚Ì2s–Ú‚©‚ç“®‚«‚Ü‚¹‚ñB

  ‚±‚ê‚ç‚̃R[ƒh‚ð‚à‚Á‚Æ‘òŽRŽg‚Á‚½—á‚́A ``–𗧂½‚¸‚̃GƒŒƒKƒ“ƒg‚ÈŽž•\
  Ž¦ƒvƒƒ“ƒvƒg''‚É‚ ‚è‚Ü‚·B

  5.3.  tput ‚ŃJ[ƒ\ƒ‹‚ð“®‚©‚·

  Unix ‚Å‚Ì‘½‚­‚Ì‚±‚Æ‚ª‚»‚¤‚Å‚ ‚é‚悤‚ɁA“¯‚¶Œ‹‰Ê‚𓾂é‚ɂ́A“ñ‚ˆȏã‚Ì
  •û–@‚ª‚ ‚è‚Ü‚·Btput ‚ƌĂ΂ê‚郆[ƒeƒBƒŠƒeƒB‚Å‚àƒXƒNƒŠ[ƒ“ã‚ŃJ[ƒ\
  ƒ‹‚ð“®‚©‚¹‚Ü‚·Btput ‚̓J[ƒ\ƒ‹‘€ì‚Å‚Í ANSI ‚æ‚è‚à_“‚ª’á‚­A‰æ–Ê
  ã‚ÌŽw’肵‚½À•W‚É“®‚©‚·‚±‚Æ‚ª‚Å‚«‚邾‚¯‚ŁAŒ»Ý‚̈ʒu‚©‚ç‘Š‘ΓI‚É“®‚©
  ‚·‚±‚Æ‚Í‚Å‚«‚Ü‚¹‚ñBŽ„‚Í"tput"‚ðŽg‚¢‚Ü‚¹‚ñ‚̂ŁA‚±‚êˆÈãÚ‚µ‚­‚Íà–¾‚µ
  ‚Ü‚¹‚ñB"man tput"‚Æ‚·‚ê‚ÎŽ„‚Ì’m‚Á‚Ä‚¢‚邱‚Æ‚ª•ª‚©‚è‚Ü‚·B

  6.  “Á•Ê‚È•¶Žš: 8i”ƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX

  ƒL[ƒ{[ƒh‚©‚ç“ü—Í‚Å‚«‚镶ŽšˆÈŠO‚É‚àAƒXƒNƒŠ[ƒ“ã‚É•\Ž¦‚Å‚«‚镶Žš‚Í‘ò
  ŽR‚ ‚è‚Ü‚·B‚ ‚È‚½‚ª‚Ç‚ñ‚ȃtƒHƒ“ƒg‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚©‚ðŠm”F‚·‚邽‚߂̃XƒN
  ƒŠƒvƒg‚ðì‚Á‚Ä‚Ý‚Ü‚µ‚½‚̂ŁAŽg‚Á‚Ă݂ĉº‚³‚¢B‚±‚̂悤‚È•¶Žš‚ðŽg‚¤‚½‚ß
  ‚É•K—v‚ÈŽå‚ȃRƒ}ƒ“ƒh‚Í"echo -e"‚Å‚·B"-e"ƒXƒCƒbƒ`‚É‚æ‚èAecho ‚̓oƒbƒN
  ƒXƒ‰ƒbƒVƒ…‚ŃGƒXƒP[ƒv‚³‚ꂽ•¶Žš‚ð‰ðŽß‚·‚é‚悤‚É‚È‚è‚Ü‚·B8i
  ”200-400‚Å•\Ž¦‚³‚ê‚é‚̂́A•W€‚Ì Linux ƒtƒHƒ“ƒg‚Æ VGA ƒtƒHƒ“ƒg‚Å‚Í”ñ
  í‚ɈقȂÁ‚Ä‚¢‚Ü‚·B‚±‚ê‚ç‚̃GƒXƒP[ƒvƒV[ƒPƒ“ƒX‚ª‚ ‚È‚½‚Ì’[––‚Å‚¨‚©‚µ
  ‚ÈŒ‹‰Ê‚ð•\Ž¦‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚̂ŁA’ˆÓ‚µ‚ĉº‚³‚¢B‚»‚¤‚Ȃ邱‚Æ‚ð–h‚®
  ‚悤‚É‚Í‚µ‚Ä‚ ‚è‚Ü‚¹‚ñBBashprompt ‚Å‚æ‚­—p‚¢‚ç‚ê‚Ä‚¢‚é(Word Perfect
  ‚Å‚È‚¶‚Ý‚É‚È‚Á‚½)Œrü‚âŽlŠp‚Ì•¶Žš‚́A 8i”260‚©‚ç337‚É‚ ‚è‚Ü‚·B

  ______________________________________________________________________
  #!/bin/bash

  #   Script: escgen

  function usage {
     echo -e "\033[1;34mescgen\033[0m <lower_octal_value> [<higher_octal_value>]"
     echo "   8i”ƒGƒXƒP[ƒvƒV[ƒPƒ“ƒXƒWƒFƒlƒŒ[ƒ^[:‰ºŒÀ‚Ì’l‚©‚çãŒÀ‚Ì’l‚Ü‚Å‚Ì"
     echo "   ‚·‚ׂĂÌ8i”ƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX‚ð•\Ž¦‚µ‚Ü‚·B‚à‚µA2”Ԗڂ̏ãŒÀ‚Ì"
     echo "   ’l‚ª—^‚¦‚ç‚ê‚È‚¯‚ê‚΁A8ŒÂ‚Ì•¶Žš‚ª•\Ž¦‚³‚ê‚Ü‚·B"
     echo "   1998 - Giles Orr, no warranty."
     exit 1
  }

  if [ "$#" -eq "0" ]
  then
     echo -e "\033[1;31mPlease supply one or two values.\033[0m"
     usage
  fi
  let lower_val=${1}
  if [ "$#" -eq "1" ]
  then
     #   ‚à‚µãŒÀ’l‚ª—^‚¦‚ç‚ê‚È‚¢ê‡‚́A8ŒÂ‚É‚·‚éB
     upper_val=$(echo -e "obase=8 \n ibase=8 \n $lower_val+10 \n quit" | bc)
  else
     let upper_val=${2}
  fi
  if [ "$#" -gt "2" ]
  then
     echo -e "\033[1;31mPlease supply two values.\033[0m"
     echo
     usage
  fi
  if [ "${lower_val}" -gt "${upper_val}" ]
  then
     echo -e "\033[1;31m${lower_val} is larger than ${upper_val}."
     echo
     usage
  fi
  if [ "${upper_val}" -gt "777" ]
     then
     echo -e "\033[1;31mValues cannot exceed 777.\033[0m"
     echo
     usage
  fi

  let i=$lower_val
  let line_count=1
  let limit=$upper_val
  while [ "$i" -lt "$limit" ]
  do
     octal_escape="\\$i"
     echo -en "$i:'$octal_escape' "
     if [ "$line_count" -gt "7" ]
     then
        echo
        #   Put a hard return in.
        let line_count=0
     fi
     let i=$(echo -e "obase=8 \n ibase=8 \n $i+1 \n quit" | bc)
     let line_count=$line_count+1
  done
  echo
  ______________________________________________________________________

  xfd ‚ðŽg‚Á‚Ä X ƒtƒHƒ“ƒg‚ÉŠÜ‚Ü‚ê‚é‚·‚ׂĂ̕¶Žš‚ð•\Ž¦‚·‚邱‚Æ‚à‚Å‚«‚Ü
  ‚·BƒRƒ}ƒ“ƒh‚́A"xfd -fn <fontname>"‚Å‚·B‚ ‚镶Žš‚̏ã‚ŃNƒŠƒbƒN‚·‚é
  ‚ƁA‚»‚Ì8i–@‚Å‚Ì’l‚ðŠÜ‚߁A‚»‚Ì•¶Žš‚ÉŠÖ‚·‚é—lX‚ȏî•ñ‚ª“¾‚ç‚ê‚Ü‚·Bã
  ‚̃XƒNƒŠƒvƒg‚́AƒRƒ“ƒ\[ƒ‹ã‚ÅŒ»Ý‚̃tƒHƒ“ƒg–¼‚ª•ª‚©‚ç‚È‚¢Žž‚É–ð‚É—§‚Â
  ‚Å‚µ‚傤B

  7.  Bash PromptƒpƒbƒP[ƒW

  7.1.  “üŽè•û–@

  Bash Prompt ƒpƒbƒP[ƒW‚́Ahttp://bash.current.nu‚Å“üŽè‰Â”\‚Å‚·BRob
  Current (•Ê–¼BadLandZ) ‚𒆐S‚Æ‚µ‚½l‚½‚¿‚̍ì•i‚Å‚·BƒpƒbƒP[ƒW‚Í‚Ü‚¾
  ‰Šúƒx[ƒ^”Å‚Ì’iŠK‚Å‚·‚ªA—lX‚ȃvƒƒ“ƒvƒg(‚âƒe[ƒ})‚ð(PS1•¶Žš—ñ‚ð
  /.bash_profile ‚â  /.bashrc ‚É‚¢‚ê‚邱‚Æ‚É‚æ‚è)ƒƒOƒCƒ“ƒVƒFƒ‹‚âƒTƒu
  ƒVƒFƒ‹‚ÅŽg‚¤‚±‚Æ‚ð‰Â”\‚É‚µ‚Ä‚­‚ê‚Ü‚·B‘½‚­‚̃e[ƒ}‚ÍŠg’£ VGA •¶ŽšƒZƒb
  ƒg‚ðŽg‚Á‚Ä‚¢‚Ü‚·‚̂ŁA(‘½‚­‚̃VƒXƒeƒ€‚ł̓fƒtƒHƒ‹ƒg‚É‚Í‚È‚Á‚Ä‚¢‚Ü‚¹‚ñ
  ‚ª) VGA ƒtƒHƒ“ƒg‚Å‚È‚¢‚Æ‚¤‚Ü‚­•\Ž¦‚³‚ê‚Ü‚¹‚ñB

  7.2.  Xterm ‚̃tƒHƒ“ƒg‚ð•Ï‚¦‚é

  Bash Prompt ƒpƒbƒP[ƒW‚Ì‘½‚­‚Ì–£—Í“I‚ȃvƒƒ“ƒvƒg‚ðŽg‚¤‚ɂ́Aƒvƒƒ“ƒvƒg
  ‚ª‘z’肵‚Ä‚¢‚镶ŽšƒZƒbƒg‚ɑΉž‚µ‚½ƒtƒHƒ“ƒg‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚é•K—v‚ª‚ ‚è
  ‚Ü‚·B‚±‚ê‚Í VGA ƒtƒHƒ“ƒg‚ƌĂ΂ê‚Ä‚¢‚Ü‚·‚ªA‚±‚ê‚Æ Linux ‚ɒʏí‚‚¢‚Ä
  ‚­‚éƒtƒHƒ“ƒg‚Ƃ̈Ⴂ‚ª‚æ‚­•ª‚©‚è‚Ü‚¹‚ñB–¾‚ç‚©‚É•¶ŽšƒZƒbƒg‚͈á‚Á‚Ä‚¢‚Ü
  ‚·‚ªB•W€‚Ì Xterm ƒtƒHƒ“ƒg‚́AŠg’£‚³‚ꂽƒAƒ‹ƒtƒ@ƒxƒbƒg‚ðŽ‚Á‚Ä‚¨‚èA
  ƒAƒNƒZƒ“ƒg‚̂‚¢‚½•¶Žš‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·BVGA ƒtƒHƒ“ƒg‚Å‚Í‚±‚̂悤‚È•¶Žš‚ð
  ŽlŠp‚â“_‚âü‚Ȃǂ̐}Œ`•¶Žš‚É•Ï‚¦‚Ä‚¢‚Ü‚·B‚±‚ê‚ɂ‚¢‚ďڂµ‚­à–¾‚Å‚«‚é
  •û‚ÍŽ„‚Ƀ[ƒ‹‚µ‚Ä‚­‚¾‚³‚¢B‚±‚±‚Éà–¾‚ð“ü‚ê‚Ü‚·B

  ‚±‚ê‚ç‚̃tƒHƒ“ƒg‚ð“üŽè‚µ‚ăCƒ“ƒXƒg[ƒ‹‚·‚é‚É‚Í‚¿‚å‚Á‚ÆŽèŠÔ‚ª‚©‚©‚è‚Ü
  ‚·B‚Ü‚¸ƒtƒHƒ“ƒg‚ð“üŽè‚µ‚Ü‚·B‚±‚ê‚炪 .pcf ‚© .pcf.gz ‚É‚È‚Á‚Ä‚¢‚邱
  ‚Æ‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢B‚à‚µ .bdf ‚É‚È‚Á‚Ä‚¢‚½‚çAbdftopcf ƒRƒ}ƒ“ƒh‚ðŒ¤
  ‹†‚µ‚Ä‚­‚¾‚³‚¢ (man ƒy[ƒW‚ð“Ç‚ñ‚ʼnº‚³‚¢)B.pcf ‚â .pcf.gz ƒtƒ@ƒCƒ‹‚ð
  /usr/X11R6/lib/X11/fonts/misc ƒfƒBƒŒƒNƒgƒŠ‚É“ü‚ê‚Ü‚·(RedHat 5.1 ‚â
  Slackware 3.4 ‚Å‚Í‚±‚¤‚È‚Á‚Ä‚¢‚Ü‚·‚ªA‘¼‚Ì Linux ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡
  ƒ“‚ł͈Ⴄ‚©‚à‚µ‚ê‚Ü‚¹‚ñ)B‚»‚̃fƒBƒŒƒNƒgƒŠ‚É cd ‚µAmkfontdir ƒRƒ}ƒ“
  ƒh‚ðŽÀs‚µ‚Ü‚·BŽŸ‚É xset fp rehash ‚ðŽÀs‚µ‚Ü‚·B“¯‚¶ƒfƒBƒŒƒNƒgƒŠ‚É‚ 
  ‚é fonts.alias ƒtƒ@ƒCƒ‹‚ðŒ©‚ÄAƒtƒHƒ“ƒg‚Ì•Ê–¼‚ð’Z‚­’è‹`‚·‚é‚Ì‚à‚¢‚¢‚Å
  ‚µ‚傤B

  V‚µ‚¢ƒtƒHƒ“ƒg‚ðŽg‚¤‚É‚Í“KØ‚É Xterm ‚ð‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·Bman ƒy
  [ƒW‚ð‚Ý‚½‚èAxterm --help ‚Æ‚µ‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B’ʏ펟‚̂悤‚É‹N“®‚µ‚Ü
  ‚·B

       xterm -font <fontname>

  ‚Ü‚½‚Í

       xterm -fn <fontname> -fb <fontname-bold>
       Eterm -f <fontname>
       rxvt -fn <fontname>

  VGA ƒtƒHƒ“ƒg‚́A
  http://home.earthlink.net/~us5zahns/enl/ansifont.html‚Ì Stumpy's ANSI
  Fontsƒy[ƒW‚ð‚Ý‚Ä‚­‚¾‚³‚¢B(‚±‚̃y[ƒW‚Í‚±‚Ì•¶‘‚ð‘‚­‚Ì‚É‘å‚¢‚ÉŽQÆ‚³
  ‚¹‚Ä‚à‚ç‚¢‚Ü‚µ‚½)

  8.  ƒvƒƒ“ƒvƒg‚ð•Ï‚¦‚é

  8.1.  ƒvƒƒ“ƒvƒg‚ð•Ï‚¦‚éAŒã‚Å

  ‚±‚Ì HOWTO ‚Å‚Ìà–¾‚ŁAŠÂ‹«•Ï” PS1 ‚̍ì‚è•û‚âA‚»‚̂悤‚È PS1 ‚â PS2
  ‚ð  /.bashrc ‚ŌĂׂéŠÖ”‚É‚¢‚ꂽ‚èAbashprompt ƒpƒbƒP[ƒW‚̃e[ƒ}‚Æ‚µ
  ‚Ä‚¢‚ê‚é•û–@‚ðŽ¦‚µ‚Ä‚«‚Ü‚µ‚½B

  bashprompt ƒpƒbƒP[ƒW‚ðŽg‚¤‚̂ɁAbashprompt -i‚Æ‚â‚ê‚Γo˜^‚³‚ê‚Ä‚¢‚éƒe
  [ƒ}‚̈ꗗ‚ªo‚Ä‚«‚Ü‚·BƒƒOƒCƒ“ƒVƒFƒ‹‚̃vƒƒ“ƒvƒg‚ðÝ’è‚·‚é‚É‚Í
  bashprompt -l themename‚Æ‚µ‚Ü‚·Bbashprompt ‚́A /.bash_profile ‚É•K—v
  ‚ȃe[ƒ}‚ðÝ’肵‚Ü‚·BƒTƒuƒVƒFƒ‹—p‚ɐݒ肷‚é‚ɂ́A bashprompt -s
  themename‚Æ‚·‚é‚ƁA /.bashrc ‚ª•ÏX‚³‚ê‚Ü‚·B

  ``PS? •¶Žš—ñ‚̐ݒè‚ð‰i‘±‚³‚¹‚é''‚̏͂ɂ́A /.bashrc‚É PS? •¶Žš—ñ‚ð’u‚­
  ‚±‚Ƃ̏d—v«‚ª‘‚©‚ê‚Ä‚¢‚Ü‚·‚̂ŁAŽQÆ‚µ‚ĉº‚³‚¢B

  8.2.  ƒvƒƒ“ƒvƒg‚ð•Ï‚¦‚éA¡‚·‚®

  Œ»Ý‚Ì’[––‚̃vƒƒ“ƒvƒg‚ð•Ï‚¦‚é‚ɂ́Aã‚Ì elite ŠÖ”‚Ì—á‚ðŽg‚¦‚΁A
  source elite‚ÌŒãAelite‚Æ‚µ‚Ü‚·(eliteƒtƒ@ƒCƒ‹‚ªŒ»ƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚é‚Æ
  ‚µ‚Ä)B‚±‚ê‚ÍŒ‹\ŽèŠÔ‚ª‚©‚©‚è‚Ü‚·BŠÂ‹«‚É‚à eliteŠÖ”‚ª•Û‘¶‚³‚ê‚Ä‚µ
  ‚Ü‚Á‚Ä‚¢‚Ü‚·‚ªA‚±‚ê‚Íunset elite‚ʼnð•ú‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·BƒVƒFƒ‹ƒXƒN
  ƒŠƒvƒg‚ŏˆ—‚·‚é‚Ì‚ª‚¢‚¢‚ÆŽv‚¤‚Å‚µ‚傤‚ªA‚±‚±‚Å‚Í‚¤‚Ü‚­‚¢‚«‚Ü‚¹‚ñBƒX
  ƒNƒŠƒvƒg‚Å‚ÍŒ»Ý‚̊‹«‚ð•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚È‚¢‚©‚ç‚Å‚·BƒXƒNƒŠƒvƒg‚Ì“®‚¢
  ‚Ä‚¢‚éƒTƒuƒVƒFƒ‹‚̊‹«‚ð•Ï‚¦‚邾‚¯‚Å‚·BƒXƒNƒŠƒvƒg‚ªI—¹‚·‚é‚ƁAƒTƒu
  ƒVƒFƒ‹‚àI—¹‚µAƒXƒNƒŠƒvƒg‚É‚æ‚Á‚ĕω»‚µ‚½ŠÂ‹«‚ÍŽ¸‚í‚ê‚Ü‚·BŒ»Ý‚̃VƒF
  ƒ‹‚̊‹«•Ï”‚ð•Ï‚¦‚é‚ɂ́AŠÂ‹«ŠÖ”‚ð—p‚¢‚é•K—v‚ª‚ ‚è‚Ü‚·B bashprompt
  ƒpƒbƒP[ƒW‚ł́Acallbashprompt ‚Æ‚¢‚¤ŠÖ”‚ªŠÂ‹«‚ɌĂэž‚Ü‚ê‚Ü‚·B‚±‚ê
  ‚ɂ‚¢‚ẴhƒLƒ…ƒƒ“ƒg‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA‚±‚̊֐”‚ðŽg‚¤‚Æ‚»‚̏ê‚Å
  bashprompt ‚̃e[ƒ}‚ðƒ[ƒh‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·BƒCƒ“ƒXƒg[ƒ‹‚³‚ꂽƒe[
  ƒ}ƒfƒBƒŒƒNƒgƒŠ‚É’T‚µ‚É‚¢‚«‚Ü‚·‚̂ŁA‚ ‚È‚½‚ªŽg‚¢‚½‚¢ƒe[ƒ}ƒtƒ@ƒCƒ‹‚Í‚±
  ‚̃fƒBƒŒƒNƒgƒŠ‚É‚¢‚ê‚Ä‚¨‚©‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚‚¢‚ŁAŠÖ”‚ð‰ðÍ‚µAŽÀ
  s‚µAƒƒ‚ƒŠ‚ð‰ð•ú‚µ‚Ü‚·BŠÂ‹«—̈æ‚Í‚Ó‚­‚ç‚ñ‚Å‚¢‚«‚Ü‚¹‚ñB
  callbashprompt ‚Í‚±‚̂悤‚ÈŽg‚í‚ê•û‚ð‘z’肵‚Ä‚¢‚Ü‚¹‚ñ‚µAƒGƒ‰[ƒ`ƒFƒb
  ƒN‚às‚È‚¢‚Ü‚¹‚ñ‚ªA‚»‚Ì‚±‚Æ‚¾‚¯Šo‚¦‚Ä‚¨‚¯‚΂¤‚Ü‚­‚¢‚«‚Ü‚·B

  9.  “®“I‚Ƀvƒƒ“ƒvƒg‚̐F‚ð•Ï‚¦‚é

  9.1.  ‚Ç‚¤‚·‚ê‚Ή”\‚©

  ‚±‚ê‚Í–£—Í“I‚ȃvƒƒ“ƒvƒg‚Æ‚¢‚¤‚æ‚è‚́A“®“I‚Ƀvƒƒ“ƒvƒg‚ð•Ï‚¦‚é‚É‚Í‚±‚¤
  ‚·‚ê‚Ή”\‚Å‚ ‚é‚Æ‚¢‚¤—Ꭶ‚Å‚·B‚±‚Ì—á‚ł́AƒzƒXƒg–¼‚ªƒVƒXƒeƒ€•‰‰×‚ɉž
  ‚¶‚ĐF‚ð•Ï‚¦‚Ü‚·(Œx‚É‚È‚è‚Ü‚·)B

  ______________________________________________________________________
  #!/bin/bash
  #   "hostloadcolour" - 17 October 98, by Giles
  #
  #   ‚±‚Ì—á‚́Aƒvƒƒ“ƒvƒg‚̃zƒXƒg–¼‚𕉉ׂ̒l‚É‚æ‚Á‚Ä•Ï‚¦‚Ü‚·B

  # THRESHOLD_LOAD ‚́Aƒvƒƒ“ƒvƒg‚̐F‚ð COLOUR_LOW ‚©‚ç COLOUR_HIGH ‚É
  # •Ï‚¦‚é1•ªŠÔ‚Ì•‰‰×—Ê(‚Ì100”{)‚ðŽ¦‚µ‚Ü‚·B
  THRESHOLD_LOAD=200
  COLOUR_LOW='1;34'
            # ƒ‰ƒCƒgƒuƒ‹[
  COLOUR_HIGH='1;31'
             # ƒ‰ƒCƒgƒŒƒbƒh

  function prompt_command {
  ONE=$(uptime | sed -e "s/.*load average: \(.*\...\), \(.*\...\), \(.*\...\)/\1/" -e "s/ //g")
  #   bc‚Ìscale‚́AæŽZ‚É‚Í“K—p‚³‚ꂸAœŽZ‚É“K—p‚³‚ê‚é‚悤‚Å‚·B
  ONEHUNDRED=$(echo -e "scale=0 \n $ONE/0.01 \nquit \n" | bc)
  if [ $ONEHUNDRED -gt $THRESHOLD_LOAD ]
  then
      HOST_COLOUR=$COLOUR_HIGH
          # ƒ‰ƒCƒgƒŒƒbƒh
  else
      HOST_COLOUR=$COLOUR_LOW
          # ƒ‰ƒCƒgƒuƒ‹[
  fi
  }

  function hostloadcolour {

  PROMPT_COMMAND=prompt_command
  PS1="[$(date +%H%M)][\u@\[\033[\$(echo -n \$HOST_COLOUR)m\]\h\[\033[0;37m\]:\w]$ "
  }
  ______________________________________________________________________

  D‚݂̃GƒfƒBƒ^‚ðŽg‚Á‚āA‚±‚ê‚ð hostloadcolour ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚É•Û‘¶‚µ‚Ü
  ‚·B Bashprompt ƒpƒbƒP[ƒW‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚é‚È‚çA‚±‚ê‚̓e[ƒ}
  ƒtƒ@ƒCƒ‹‚É‚È‚è‚Ü‚·B‚à‚µƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚È‚¢‚È‚çAsource
  hostloadcolour ‚É‘±‚¢‚āAhostloadcolour‚Æ‚µ‚Ü‚·B‚Ç‚¿‚ç‚É‚µ‚Ä‚à
  prompt_command ‚ª‚ ‚È‚½‚̊‹«‚̊֐”‚É‚È‚è‚Ü‚·BƒR[ƒh‚ð‚Ý‚é‚ƁA
  F($COLOUR_HIGH‚Æ$COLOUR_LOW) ‚͐FƒR[ƒh‚̈ꕔ‚‚Ü
  ‚è"\[\033[1;34m\]"(‚±‚¤‚µ‚½‚©‚Á‚½‚Ì‚Å‚·‚ª)‚Å‚Í‚È‚­ "1;34"‚Å’è‹`‚³‚ê‚Ä
  ‚¢‚邱‚Æ‚É‹C‚­‚Å‚µ‚傤BŠ®‘S‚ȐFƒR[ƒh‚ðŽg‚¢‚½‚©‚Á‚½‚Ì‚Å‚·‚ªA“®‚«‚Ü
  ‚¹‚ñ‚Å‚µ‚½B‚Ç‚¤‚µ‚½‚ç‚¢‚¢‚©•ª‚©‚Á‚½‚狳‚¦‚Ä‚­‚¾‚³‚¢B

  10.  ƒvƒƒ“ƒvƒg‚Ì—á

  10.1.  uŒy—ʁvƒvƒƒ“ƒvƒg

  ______________________________________________________________________

  function proml {
  local BLUE="\[\033[0;34m\]"
  local RED="\[\033[0;31m\]"
  local LIGHT_RED="\[\033[1;31m\]"
  local WHITE="\[\033[1;37m\]"
  local LIGHT_GRAY="\[\033[0;37m\]"
  case $TERM in
      xterm*)
          TITLEBAR='\[\033]0;\u@\h:\w\007\]'
          ;;
      *)
          TITLEBAR=""
          ;;
  esac

  PS1="${TITLEBAR}\
  $BLUE[$RED\$(date +%H%M)$BLUE]\
  $BLUE[$LIGHT_RED\u@\h:\w$BLUE]\
  $WHITE\$$LIGHT_GRAY "
  PS2='> '
  PS4='+ '
  }
  ______________________________________________________________________

  10.2.  Bashprompt‚©‚çelite

  VGA ƒtƒHƒ“ƒg‚ª•K—v‚Å‚·B

  ______________________________________________________________________

  # Created by KrON from windowmaker on IRC
  # Changed by Spidey 08/06
  function elite {
  PS1="\[\033[31m\]\332\304\[\033[34m\](\[\033[31m\]\u\[\033[34m\]@\[\033[31m\]\h\
  \[\033[34m\])\[\033[31m\]-\[\033[34m\](\[\033[31m\]\$(date +%I:%M%P)\
  \[\033[34m\]-:-\[\033[31m\]\$(date +%m)\[\033[34m\033[31m\]/\$(date +%d)\
  \[\033[34m\])\[\033[31m\]\304-\[\033[34m]\\371\[\033[31m\]-\371\371\
  \[\033[34m\]\372\n\[\033[31m\]\300\304\[\033[34m\](\[\033[31m\]\W\[\033[34m\])\
  \[\033[31m\]\304\371\[\033[34m\]\372\[\033[00m\]"
  PS2="> "
  }
  ______________________________________________________________________

  10.3.  uƒpƒ[ƒ†[ƒU[vƒvƒƒ“ƒvƒg

  Ž„‚ªŽÀÛ‚ÉŽg‚Á‚Ä‚¢‚éƒvƒƒ“ƒvƒg‚Å‚·BƒVƒ“ƒOƒ‹ƒ†[ƒU[‚Ì
  PentiumII-400MHz ‚Å‚àƒvƒƒ“ƒvƒg•\Ž¦‚Ì’x‚ꂪo‚Ü‚·‚̂ŁAƒ}ƒ‹ƒ`ƒ†[ƒU[
  ‚Ì Pentium-100MHz ‚ÅŽg‚¤‚Ì‚Í‚â‚ß‚Ä‚¨‚¢‚½•û‚ª...BŽÀÛ‚ÉŽg‚¤‚Æ‚¢‚¤‚æ‚è
  ‚́Al‚¦•û‚Ì—á‚Æ‚µ‚ÄŒ©‚Ä‚­‚¾‚³‚¢B

  ______________________________________________________________________
  #!/bin/bash
  #----------------------------------------------------------------------
  #       POWER USER PROMPT "pprom2"
  #----------------------------------------------------------------------
  #
  #   Created August 98, Last Modified 9 November 98 by Giles
  #
  #   –â‘è:•‰‰×‚ª‰º‚ª‚Á‚½Žž "1.35down-.08" ‚Æ‚È‚é‚̂ŁA- ‚ð‚Æ‚é•K—v‚ª‚ ‚éB
  #   - $PWD ‚Ì’·‚³‚ð30•¶Žš‚Ü‚Å‚Æ‚µA’´‚¦‚½•”•ª‚͉E‚ðØ‚èŽÌ‚Ä‚Ä‚¢‚éB

  function prompt_command
  {
  #   •Ï” TotalMeg ‚ÍŒ»ƒfƒBƒŒƒNƒgƒŠ‚̉Ž‹ƒtƒ@ƒCƒ‹‚̃TƒCƒY‚̍‡Œv
  local TotalBytes=0
  for Bytes in $(ls -l | grep "^-" | cut -c30-41)
  do
      let TotalBytes=$TotalBytes+$Bytes
  done
  TotalMeg=$(echo -e "scale=3 \nx=$TotalBytes/1048576\n if (x<1) {print \"0\"} \n print x \nquit" | bc)

  #      uptime ƒRƒ}ƒ“ƒh‚É‚æ‚èA•‰‰×‚̍·•ª‚ðŒvŽZB
  #      uptime ‚́A1•ªA5•ªA15•ª‚Ì•½‹Ï•‰‰×‚ðŽ¦‚·B
  #
  local one=$(uptime | sed -e "s/.*load average: \(.*\...\), \(.*\...\), \(.*\...\)/\1/" -e "s/ //g")
  local five=$(uptime | sed -e "s/.*load average: \(.*\...\), \(.*\...\), \(.*\...\).*/\2/" -e "s/ //g")
  local diff1_5=$(echo -e "scale = scale ($one) \nx=$one - $five\n if (x>0) {print \"up\"} else {print \"down\"}\n print x \nquit \n" | bc)
  loaddiff="$(echo -n "${one}${diff1_5}")"

  #   ‰ÂŽ‹ƒtƒ@ƒCƒ‹‚̐”‚𐔂¦‚é
  let files=$(ls -l | grep "^-" | wc -l | tr -d " ")
  let hiddenfiles=$(ls -l -d .* | grep "^-" | wc -l | tr -d " ")
  let executables=$(ls -l | grep ^-..x | wc -l | tr -d " ")
  let directories=$(ls -l | grep "^d" | wc -l | tr -d " ")
  let hiddendirectories=$(ls -l -d .* | grep "^d" | wc -l | tr -d " ")-2
  let linktemp=$(ls -l | grep "^l" | wc -l | tr -d " ")
  if [ "$linktemp" -eq "0" ]
  then
      links=""
  else
      links=" ${linktemp}l"
  fi
  unset linktemp
  let devicetemp=$(ls -l | grep "^[bc]" | wc -l | tr -d " ")
  if [ "$devicetemp" -eq "0" ]
  then
      devices=""
  else
      devices=" ${devicetemp}bc"
  fi
  unset devicetemp

  }

  PROMPT_COMMAND=prompt_command

  function pprom2 {

  local        BLUE="\[\033[0;34m\]"
  local  LIGHT_GRAY="\[\033[0;37m\]"
  local LIGHT_GREEN="\[\033[1;32m\]"
  local  LIGHT_BLUE="\[\033[1;34m\]"
  local  LIGHT_CYAN="\[\033[1;36m\]"
  local      YELLOW="\[\033[1;33m\]"
  local       WHITE="\[\033[1;37m\]"
  local         RED="\[\033[0;31m\]"
  case $TERM in
      xterm*)
          TITLEBAR='\[\033]0;\u@\h:\w\007\]'
          ;;
      *)
          TITLEBAR=""
          ;;
  esac

  PS1="$TITLEBAR\
  $BLUE[$RED\$(date +%H%M)$BLUE]\
  $BLUE[$RED\u@\h$BLUE]\
  $BLUE[\
  $LIGHT_GRAY\${files}.\${hiddenfiles}-\
  $LIGHT_GREEN\${executables}x \
  $LIGHT_GRAY(\${TotalMeg}Mb) \
  $LIGHT_BLUE\${directories}.\
  \${hiddendirectories}d\
  $LIGHT_CYAN\${links}\
  $YELLOW\${devices}\
  $BLUE]\
  $BLUE[${WHITE}\${loaddiff}$BLUE]\
  $BLUE[\
  $WHITE\$(ps ax | wc -l | sed -e \"s: ::g\")proc\
  $BLUE]\
  \n\
  $BLUE[$RED\$PWD$BLUE]\
  $WHITE\$\
  \
  $LIGHT_GRAY "
  PS2='> '
  PS4='+ '
  }
  ______________________________________________________________________

  10.4.  ’[––•‚̃vƒƒ“ƒvƒg

  ƒvƒƒ“ƒvƒg‚É $PWD ‚ªŠÜ‚Ü‚ê‚é‚ƁAƒvƒƒ“ƒvƒg‚Ì’·‚³‚ª•Ï‚í‚é‚Æ‚È‚°‚­—Fl‚ª
  ‚¢‚½‚̂ŁAƒvƒƒ“ƒvƒg‚Ì’·‚³‚ª‚¿‚傤‚Ç’[––‚Ì•‚É‚È‚éƒvƒƒ“ƒvƒg‚ð‘‚¢‚Ä‚Ý
  ‚Ü‚µ‚½B

  ______________________________________________________________________
  #!/bin/bash

  #   ’[––•‚̃vƒƒ“ƒvƒg
  #      by Giles - created 2 November 98
  #                 last modified 9 November 98
  #
  #   ‚±‚±‚ōl‚¦‚½‚̂́A2s‚©‚ç‚È‚éƒvƒƒ“ƒvƒg‚Ì1s–Ú‚ª’[––‚Ì•‚É‚È‚é‚悤‚É
  #   ‚·‚邱‚Æ‚Å‚·B‚»‚¤‚·‚邽‚߂ɁAƒeƒLƒXƒg‚Ì•¶Žš”‚𐔂¦A•‚ɍ‡‚¤‚悤‚É
  #   $PWD ‚ð•â‚Á‚½‚èA‰E‚ðØ‚è‹l‚ß‚½‚肵‚Ü‚·B
  #
  #   - ‚à‚Á‚Ɛô—û‚³‚¹‚é•K—v‚ª‚ ‚è‚Ü‚·‚ªA‚Æ‚è‚ ‚¦‚¸“®‚«‚Ü‚·B
  #   - ƒzƒXƒg–¼‚Í–ˆ‰ñ‚³‚ª‚·•K—v‚ª‚ ‚è‚Ü‚¹‚ñB•Ï‰»‚µ‚Ü‚¹‚ñ‚©‚çB
  #   - ƒ†[ƒU[–¼‚Í‚Ç‚¤‚¾‚낤? •Ï‚í‚é‚©‚È‚ ?
  #   - prompt_command ‚ōì‚ç‚ê‚éƒeƒLƒXƒg•Ï”‚͋ǏŠ•Ï”‚Å‚Í‚¢‚¯‚È‚¢B
  #     PS1 ‚É•Û‘¶‚³‚ê‚é•K—v‚ª‚ ‚é‚©‚çB

  function prompt_command {

  TERMWIDTH=${COLUMNS}

  #   ƒvƒƒ“ƒvƒg•‚ðŒvŽZ

  hostnam=$(echo -n $HOSTNAME | sed -e "s/[\.].*//")
  let hostsize=$(echo -n $hostnam | wc -c | tr -d " ")
  #   "whoami" ‚Æ "pwd" ‚̍Ōã‚͉üs‚É‚È‚Á‚Ä‚¢‚éB
  usernam=$(whoami)
  let usersize=$(echo -n $usernam | wc -c | tr -d " ")
  newPWD="${PWD}"
  let pwdsize=$(echo -n ${newPWD} | wc -c | tr -d " ")
  #   ƒAƒNƒZƒTƒŠ‚ð‚‚¯‚Ä‚¢‚­
  let promptsize=$(echo -n "--(${usernam}@${hostnam})---(${PWD})--" \
                   | wc -c | tr -d " ")
  let fillsize=${TERMWIDTH}-${promptsize}
  fill=""
  while [ "$fillsize" -gt "0" ]
  do
      fill="${fill}-"
          let fillsize=${fillsize}-1
  done

  if [ "$fillsize" -lt "0" ]
  then
      let cut=((${fillsize})*(-1))+3
      sedvar=""
      while [ "$cut" -gt "0" ]
      do
          sedvar="${sedvar}."
      let cut=${cut}-1
      done
      newPWD="...$(echo -n $PWD | sed -e "s/\(^${sedvar}\)\(.*\)/\2/")"
  fi
  }

  PROMPT_COMMAND=prompt_command

  function termwide {

  local GRAY="\[\033[1;30m\]"
  local LIGHT_GRAY="\[\033[0;37m\]"
  local WHITE="\[\033[1;37m\]"

  local LIGHT_BLUE="\[\033[1;34m\]"
  local YELLOW="\[\033[1;33m\]"

  case $TERM in
      xterm*)
          TITLEBAR='\[\033]0;\u@\h:\w\007\]'
          ;;
      *)
          TITLEBAR=""
          ;;
  esac

  PS1="$TITLEBAR\
  $YELLOW-$LIGHT_BLUE-(\
  $YELLOW\${usernam}$LIGHT_BLUE@$YELLOW\${hostnam}\
  ${LIGHT_BLUE})-${YELLOW}-\${fill}${LIGHT_BLUE}-(\
  $YELLOW\${newPWD}\
  $LIGHT_BLUE)-$YELLOW-\
  \n\
  $YELLOW-$LIGHT_BLUE-(\
  $YELLOW\$(date +%H%M)$LIGHT_BLUE:$YELLOW\$(date \"+%a,%d %b %y\")\
  $LIGHT_BLUE:$WHITE\$$LIGHT_BLUE)-\
  $YELLOW-\
  $LIGHT_GRAY "

  PS2="$LIGHT_BLUE-$YELLOW-$YELLOW-$LIGHT_GRAY "

  }
  ______________________________________________________________________

  10.5.  –𗧂½‚¸‚̃GƒŒƒKƒ“ƒg‚ÈŽž•\Ž¦ƒvƒƒ“ƒvƒg

  ‚±‚ê‚ÍŽ„‚ªì‚Á‚½ƒvƒƒ“ƒvƒg‚Ì’†‚ŁA‚¨‚»‚ç‚­‚à‚Á‚Æ‚à–£—Í“I‚È(‚à‚Á‚Æ‚à–ð
  —§‚½‚È‚¢) ‚à‚Ì‚Å‚·B‘½‚­‚ÌX’[––ƒGƒ~ƒ…ƒŒ[ƒ^‚́AƒJ[ƒ\ƒ‹ˆÊ’u‚Ì‹L‰¯‚Æ•œ
  ‹Œ‚ðŽÀŒ»‚µ‚Ä‚¢‚Ü‚¹‚ñ‚̂ŁAŽž‚ð‰Eã‚É’u‚­‚½‚߂ɃJ[ƒ\ƒ‹‚ð’[––‚̍ʼnºs
  ‚ɌŒ肵‚Ä‚¢‚Ü‚·B‚±‚̃vƒƒ“ƒvƒg‚́Aã‚Ì’[––•‚̃vƒƒ“ƒvƒg‚̃AƒCƒfƒBƒA
  ‚ðŽg‚Á‚Ä‚¨‚èA‰æ–ʂ̉E’[‚Ƀvƒƒ“ƒvƒg‚©‚玞•\Ž¦‚Ì‚Æ‚±‚ë‚Ü‚Å’¼ü‚ðˆø‚¢
  ‚Ä‚¢‚Ü‚·BVGA ƒtƒHƒ“ƒg‚ª•K—v‚Å‚·B

  ’ˆÓ: ‚±‚±‚Å‚Í•Ï‚È’uŠ·‚ªŽg‚í‚ê‚Ä‚¢‚Ü‚·‚̂ŁASGML ‚©‚瑼‚̃tƒH[ƒ}ƒbƒg
  ‚É•Ï‚¦‚½Žž‚É‚«‚¿‚ñ‚Æ•\Ž¦‚³‚ê‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB\304‚Ì•¶Žš‚ð’uŠ·‚·‚é•K
  —v‚ª‚ ‚è‚Ü‚µ‚½B’ʏí‚Í"\304"‚Å‚¢‚¢‚Ì‚Å‚·‚ªA‚±‚±‚Å‚Í‚±‚̂悤‚È’uŠ·‚ð‚·
  ‚邱‚Æ‚ª•K—v‚Å‚µ‚½B

  ______________________________________________________________________
  #!/bin/bash

  #   ‚±‚̃vƒƒ“ƒvƒg‚Í VGA ƒtƒHƒ“ƒg‚ð•K—v‚Æ‚·‚éBƒvƒƒ“ƒvƒg‚Í’[––‚̈ê”Ô‰º‚̍s‚É
  #   ’[––•ˆê”t‚É•\Ž¦‚³‚êA‰æ–ʂ̉E’[‚É’¼ü‚ð•\Ž¦‚µA‰Eã‚ÌŽž•\Ž¦‚ɂ‚Ȃª‚Á
  #   ‚Ä‚¢‚éB

  function prompt_command {
  #   Calculate the width of the prompt:
  hostnam=$(echo -n $HOSTNAME | sed -e "s/[\.].*//")
  #   "whoami"‚Æ"pwd"‚͍Ōã‚ɉüs‚ðŠÜ‚ñ‚Å‚¢‚éB
  usernam=$(whoami)
  newPWD="${PWD}"
  #   ‚·‚ׂẴAƒNƒZƒTƒŠ‚ðˆÈ‰º‚ɉÁ‚¦‚éB
  let promptsize=$(echo -n "--(${usernam}@${hostnam})---(${PWD})-----" \
                   | wc -c | tr -d " ")
  #   user@host ‚Æ PWD ‚̊Ԃɂǂꂾ‚¯‰Á‚¦‚ê‚΂¢‚¢‚©(PWD ‚©‚çØ‚èŽæ‚ê‚΂悢‚©)‚ð
  #   ŒvŽZ‚·‚éB
  let fillsize=${COLUMNS}-${promptsize}
  fill=""
  #   ƒvƒƒ“ƒvƒg‚ª’[––•‚æ‚è’Z‚¢ê‡‚ɂ́A–„‚ß‘‚ðì‚éB
  while [ "$fillsize" -gt "0" ]
  do
     fill="${fill}"
     # A ƒEƒ€ƒ‰ƒEƒg(VGA ƒtƒHƒ“ƒg‚Å‚Í’·‚¢‰¡ü)‚Í\304‚Å‚·‚ªABash ‚Å‚Í’uŠ·‚Í
     # ˆêŽí—Þ‚µ‚©s‚È‚í‚ꂸA‚±‚±‚Å‚Í $fill ‚ðƒvƒƒ“ƒvƒg‚É–„‚ߍž‚Þ‚±‚Æ‚È
     # ‚̂ŁA‚±‚̂悤‚É•Ï‚¦‚Ü‚µ‚½B
     let fillsize=${fillsize}-1
  done
  #   ƒvƒƒ“ƒvƒg‚ª’[––•‚æ‚è’·‰ß‚¬‚é‚悤‚È‚çAPWD ‚̉E‚ðØ‚èŽÌ‚Ä‚Ü‚·B
  if [ "$fillsize" -lt "0" ]
  then
     let cutt=3-${fillsize}
     sedvar=""
     while [ "$cutt" -gt "0" ]
     do
        sedvar="${sedvar}."
        let cutt=${cutt}-1
     done
     newPWD="...$(echo -n $PWD | sed -e "s/\(^${sedvar}\)\(.*\)/\2/")"
  fi
  #
  #   Žž‚Æ’[––‚̉E’[‚É•\Ž¦‚·‚éƒo[‚ðì‚è‚Ü‚·B
  #
  local LIGHT_BLUE="\033[1;34m"
  local     YELLOW="\033[1;33m"
  #   Žž‚ð•\Ž¦‚·‚éƒJ[ƒ\ƒ‹‚̈ʒu‚ðŒˆ‚ß‚Ü‚·B
  echo -en "\033[2;$((${COLUMNS}-9))H"
  echo -en "$LIGHT_BLUE($YELLOW$(date +%H%M)$LIGHT_BLUE)\304$YELLOW\304\304\277"
  local i=${LINES}
  echo -en "\033[2;${COLUMNS}H"
  #   cü‚ð’[––‚̘e‚É•\Ž¦‚µ‚Ü‚·B
  while [ $i -ge 4 ]
  do
     echo -en "\033[$(($i-1));${COLUMNS}H\263"
     let i=$i-1
  done

  let prompt_line=${LINES}-1
  #   Bash‚̐”Ž®•\Œ»($(()))‚Ì’†‚ł́A\${LINES}‚ª‚¤‚Ü‚­‹@”\‚µ‚È‚¢‚悤‚È‚Ì‚Å
  }

  PROMPT_COMMAND=prompt_command

  function clock3 {
  local LIGHT_BLUE="\[\033[1;34m\]"
  local     YELLOW="\[\033[1;33m\]"
  local      WHITE="\[\033[1;37m\]"
  local LIGHT_GRAY="\[\033[0;37m\]"
  local  NO_COLOUR="\[\033[0m\]"

  case $TERM in
      xterm*)
          TITLEBAR='\[\033]0;\u@\h:\w\007\]'
          ;;
      *)
          TITLEBAR=""
          ;;
  esac

  PS1="$TITLEBAR\
  \[\033[\${prompt_line};0H\]
  $YELLOW\332$LIGHT_BLUE\304(\
  $YELLOW\${usernam}$LIGHT_BLUE@$YELLOW\${hostnam}\
  ${LIGHT_BLUE})\304${YELLOW}\304\${fill}${LIGHT_BLUE}\304(\
  $YELLOW\${newPWD}\
  $LIGHT_BLUE)\304$YELLOW\304\304\304\331\
  \n\
  $YELLOW\300$LIGHT_BLUE\304(\
  $YELLOW\$(date \"+%a,%d %b %y\")\
  $LIGHT_BLUE:$WHITE\$$LIGHT_BLUE)\304\
  $YELLOW\304\
  $LIGHT_GRAY "

  PS2="$LIGHT_BLUE\304$YELLOW\304$YELLOW\304$NO_COLOUR "

  }
  ______________________________________________________________________

  –|–ó     ‰““¡ –¾ akendo@t3.rim.or.jp

  Z³‹¦—Í yuri aisaka <ayqw@mail2.alpha-net.or.jp> HASEGAWA Yasushi
  <yaz-hase@qb3.so-net.ne.jp>