เปอร์เซ็นต์การแจ้งให้เซ็นต์ในเชลล์คืออะไร?


16

ขณะดูวิดีโอฉันเห็นสิ่งต่อไปนี้:

% more tinyUF.txt
10
4 3
3 8
6 5

%เครื่องหมายนี้ก่อนmoreคำสั่งคืออะไร


2
export PS1=%??
Roman Gräf

@ RomanGräfนั่นอะไรน่ะ?
Maxim Koretskyi

1
คุณสามารถเปลี่ยนปกติ$เข้าสู่ระบบโดยใช้export PS1=...ที่...จะเปลี่ยน
Roman Gräf

@ RomanGräfฉันเห็นขอบคุณสำหรับคำแนะนำ
Maxim Koretskyi

@Roman Gräf: คุณสามารถทำสิ่งต่าง ๆ ได้มากมายด้วยพรอมต์มากกว่าแค่เปลี่ยนตัวละคร Mine รวมถึงชื่อเครื่อง (เนื่องจากฉันมักจะมี windows xterm ในเครื่องอื่น ๆ ) และไดเรกทอรีน้อยที่สุดในเส้นทางปัจจุบัน และถ้าฉันรูทมันก็จะกลายเป็นสีแดงสด
jamesqf

คำตอบ:


29

นั่นคือพร้อมต์เชลล์หรือที่แม่นยำกว่านั่นคือพร้อมต์หลักของเชลล์( มีอยู่หลายอย่าง ) เป็นวิธีที่เชลล์พูดว่า " เอาเลยฉันพร้อมสำหรับการป้อนข้อมูลแล้ว "

%พรอมต์เป็นเรื่องธรรมดาในcshเปลือกหอยชนิดในขณะที่sh-shells (ชอบbashและksh93) โดยปกติใช้$เป็นพรอมต์

โดยปกติแล้วพรอมต์จะเปลี่ยนเป็น#สำหรับผู้ใช้รูทเนื่องจากผู้ใช้ที่มีประสิทธิภาพเพียงพอควรได้รับการเตือนถึงพลังนั้นด้วยการมีพรอมต์สำรอง (ตามมาตรฐาน POSIX วางไว้)

พรอมต์หลักในเปลือกหอยชนิดจะถูกกำหนดโดยค่าของตัวแปรเปลือกshPS1


สรุปความคิดเห็นด้านล่างพร้อมด้วย:

#ลักษณะของรากพรอมต์ (ใช้ทั้งสองshและcshเปลือกหอย) ที่เกิดขึ้นให้ตรงกับเปลือกหอยที่พบตัวละครที่แสดงความคิดเห็น การคัดลอกและวางคำสั่งในฐานะรูทจะทำให้คำสั่งที่วางไม่สามารถใช้งานได้หากเชลล์พรอมต์ก็ถูกคัดลอกเช่นกัน โปรดทราบว่า#มีการนำมาใช้เป็นรูทพรอมต์ก่อนที่เชลล์จะมีการแสดงความคิดเห็น (การอ้างอิง: อีเมลจาก Doug McIlroy )

esและrcเปลือกของแผน 9 ใช้;ตัวอักษรเป็นค่าเริ่มต้นพรอมต์ ผลที่ตามมาคือการคัดลอกและวางคำสั่งรวมถึงพรอมต์จะยังคงหมายความว่าคำสั่งที่วางนั้นถูกต้อง (และจะถูกดำเนินการ)

วิธีการเปิดใช้งานให้มีแบบกำหนดเอง แต่ยังคงคัดลอกวางได้, shell prompt จะใช้: something ;ซึ่งsomethingอาจเป็นไดเรกทอรีปัจจุบันชื่อโฮสต์หรือเวลา


2
นอกจากนี้ในzsh(เชลล์สไตล์ Bourne แต่มีคุณสมบัติมากมายจากtcsh) โปรดทราบว่าโดยทั่วไปแล้วเชลล์ที่มีลักษณะคล้าย Bourne และ csh-like ใช้#สำหรับผู้ใช้ uid 0
Stéphane Chazelas

1
นอกจากนี้โปรดทราบว่าrc- เชลล์ใช้เหมือนกัน;(หนึ่งสามารถคัดลอกวางเต็มบรรทัดและนั่นคือรหัสเชลล์ที่ถูกต้องแนวคิดเช่นเดียวกับการ#แจ้งเตือนของรูทเป็นความคิดเห็น)
Stéphane Chazelas

2
ตัวเลือกที่สำคัญมากของ # สำหรับรูทคือถ้าคุณคัดลอกคำสั่งรวมถึงคำสั่งนั้นคุณจะไม่ทำให้เกิดความเสียหาย (เช่น # เริ่มแสดงความคิดเห็นดังนั้นจะแสดงความคิดเห็นคำสั่งของคุณ (เช่นกันบรรทัดแรก)) บางคนใช้ ">" และถ้าคุณคัดลอกมันก็สามารถอุดตัน (ว่างเปล่าอย่างสมบูรณ์) ถ้าคำสั่งมีเส้นทางเต็มหรือญาติหรือถ้าคุณอยู่ในไดเรกทอรีที่ถูกต้อง (และมีสิทธิ์เพียงพอเช่นถ้าคุณเป็น ราก). ฉันได้เห็นสิ่งนี้เกิดขึ้น
Olivier Dulac

1
@ StéphaneChazelas: การประชุม # -for-root ไม่ได้เกิดขึ้นมานานก่อนที่เทอร์มินัลที่สามารถตัดและวางทั้งบรรทัดได้ง่ายกลายเป็นเรื่องธรรมดาใช่ไหม
hmakholm ออกเดินทางจากโมนิก้า

@ HenningMakholm ใช่ มันเกิดขึ้นก่อนที่ csh จะแนะนำ # ในฐานะผู้นำความคิดเห็น ถึงกระนั้นก็เป็นความจริงที่#...บรรทัดนั้นเป็นความคิดเห็นเมื่อคัดลอกวางแม้ว่ามันจะไม่ใช่ความตั้งใจก็ตาม ฉันไม่รู้ว่ามันเป็นความตั้งใจที่อยู่เบื้องหลัง;ในrcทั้งสองแม้ว่าฉันสังเกตว่ามันเป็นผลที่สะดวก
Stéphane Chazelas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.