SUSE LINUX Enterprise & openSUSE Community
ธันวาคม 19, 2018, 06:25:29 AM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: การเปลี่ยนดีฟอลต์พรอมท์ (Root Prompt)  (อ่าน 1630 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« เมื่อ: มกราคม 08, 2013, 06:02:38 PM »


การเปลี่ยนดีฟอลต์พรอมท์ (Root Prompt)

shell prompt บนระบบปฏิบัติการลีนุกซ์ดีฟอลต์พรอมท์ถ้าเป็น root ยูสเซอร์ (ผู้ดูแลระบบ) จะแทนด้วยเครื่องหมาย # และเครื่องหมาย > จะหมายถึงยูเซอร์ทั่วไป (ซึ่งต่างจากดิสโทรอื่นๆ อาจเป็นอักษร $ บอกว่ายูสเซอร์ทั่วไป)



ตัวอย่างเช่น
pcit01:~ # <-- นี้คือจะหมายถึง root shell prompt
(พรอม์อักษรจะเป็นสีแดง)

ดีฟอลต์เซลต์อมท์ยูสเซอร์ทั่วไป (ไม่ใช่ root ยูสเซอร์) บนซูเซลีนุกซ์รูปแบบจะแสดงเป็น ชื่อยูสเซอร์ ตามด้วยเครื่องหมาย @ ตามด้วยชื่อเครื่อง ตามด้วยอักษรใช้คั่น :~>

ตัวอย่างเช่น
[email protected]:~>

sontaya คือชื่อยูสเซอร์
@    คืออักษรคั่น
pcit01  คือชื่อเครื่อง (hostname)
:    คืออักษรคั่น สัญลักษณ์แทนยูสเซอร์ปกติ
~    คือบอกไดเรกทอรีปัจจุบันที่ทำงานอยู่ จะเปลี่ยนเองตามที่อยู่ไดเรกทอรี
>    คือเครื่องหมายสัญลักษณ์พรอมท์บอกว่าเป็นยูสเซอร์ทัวไปบนซูเซลีนุกซ์

ส่วน shell variable ก็จะเป็นดังนี้ PS1 variable (ตัวแปรสภาพแวดล้อม หรือเรียกว่า environment variable), \u (username), \H (first part of hostname)

การตรวจสอบตัวแปรพรอม์ที่ดีฟอลต์กำหนดไว้

โค๊ด:
echo $PS1

ตัวแปรที่ได้ (ยูสเซอร์ทั่วไป)

$(ppwd \l)\[email protected]\h:\w>

ตัวแปรที่ได้ ( root ยูสเซอร์)

\[\]\h:\w # \[\]


อธิบายตัวแปร PS1

Sequence   Description
a   The ASCII bell character (you can also type \007)
d   Date in Wed Sep 06 format
e   ASCII escape character (you can also type \033)
h   First part of hostname (such as mybox)
H   Fully-qualified hostname (such as mybox.mydomain.com)
j   The number of processes you've suspended in this shell by hitting ^Z
l   The name of the shell's terminal device (such as ttyp4)
n   Newline
r   Carriage return
s   The name of the shell executable (such as bash)
t   Time in 24-hour cormat (such as 23:01:01)
T   Time in 12-hour format (such as 11:01:01)
@   Time in 12-hour format with am/pm
u   Your username
v   Version of bash (such as 2.04)
V   Bash version, including patchlevel
w   Current working directory (such as /home/drobbins)
W   The "basename" of the current working directory (such as drobbins)
!   Current command's position in the history buffer
#   Command number (this will count up at each prompt, as long as you type something)
$   If you are non-root, inserts a $; if you are root, you get a #
xxx   Inserts an ASCII character based on three-digit number xxx
\   A backslash
[   prefix to sequence of non-printing characters (allows word-wrapping to work correctly)
]   suffix to sequence of non-printing characters


การตั้งค่าพรอมท์ตัวแปร PS1 ชั่วคราว

โค๊ด:
export PS1="\d : "

output ที่ได้ Tue Jan 08 :

จากนั้นพิมพ์คำสั่ง exit ออกจาก GNOME Terminal ก็จะกลับมาพรอมท์ดีฟอลต์เหมือนเดิม


การเปลี่ยนรูทดีฟอลต์พรอมท์ (Root Prompt) เพื่อเป็นเซต PS1 เป็น environment variable

System: SLED 11 SP2
GNOME Desktop:  Version 2.28.8

1. เปิดไฟล์ /etc/bash.bashrc

จะมี note comment บอกห้ามแก้ไขไฟล์นี้ ให้สร้างไฟล์ขึ้นมาใหม่สำหรับใช้งาน
โค๊ด:
# /etc/bash.bashrc for SuSE Linux
#
# PLEASE DO NOT CHANGE /etc/bash.bashrc There are chances that your changes
# will be lost during system upgrades.  Instead use /etc/bash.bashrc.local
# for your local settings, favourite global aliases, VISUAL and EDITOR
# variables, etc ...

2. สร้างไฟล์ /etc/bash.bashrc.local

โค๊ด:
vi /etc/bash.bashrc.local

ใส่โค้ดด้านล่างนี้ จะแสดงพรอมท์เป็นเหมือนหมาย $

โค๊ด:
_bred="$(path tput bold 2> /dev/null; path tput setaf 1 2> /dev/null)"
_sgr0="$(path tput sgr0 2> /dev/null)"
PS1="\[$_bred\]$\[$_sgr0\] "
unset _bred _sgr0
unset _u _p _t
                     

เปิดแท็บหน้าต่าง GNOME Terminal ขึ้นมาใหม่จะได้ output ดังรูป



เซตกลับไปใช้ดีฟอลต์พรอมท์ ก็ให้ลบไฟล์ /etc/bash.bashrc.local หรือจะแทนที่ข้อมูลด้วยช่องว่างก็ได้เช่นกันครับ
โค๊ด:
echo "" > /etc/bash.bashrc.local



ที่นี้เครื่องส่วนตัวอยากได้รูทพรอมท์รูปแบบไหนก็จัดไปครับ อย่างงเองล่ะครับครับ

Reference:
http://www.funtoo.org/wiki/Prompt_Magic
http://vazhavandan.blogspot.com/2013/01/changing-root-prompt.html
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.026 วินาที กับ 18 คำสั่ง (Pretty URLs adds 0.007s, 2q)