<ก่อนหน้านี้ | Contents | ถัดไป>
เอกสารนี้ให้ภาพรวมของคุณสมบัติเชลล์ทั่วไป (เหมือนกันในทุกรสชาติของเชลล์) และคุณสมบัติของเชลล์ที่แตกต่างกัน (คุณสมบัติเฉพาะของเชลล์)
ค.1. คุณสมบัติทั่วไป
คุณลักษณะต่อไปนี้เป็นมาตรฐานในทุกเชลล์ โปรดทราบว่าคำสั่ง stop, suspend, jobs, bg และ fg มีให้ใช้งานบนระบบที่สนับสนุนการควบคุมงานเท่านั้น
ตาราง C-1 คุณสมบัติเชลล์ทั่วไป
คำสั่ง | ความหมาย |
> | เอาต์พุตการเปลี่ยนเส้นทาง |
>> | ต่อท้ายไฟล์ |
< | เปลี่ยนเส้นทางอินพุต |
<< | เอกสาร "ที่นี่" (อินพุตเปลี่ยนเส้นทาง) |
| | ท่อออก |
& | เรียกใช้กระบวนการในพื้นหลัง |
; | แยกคำสั่งในบรรทัดเดียวกัน |
* | จับคู่อักขระใด ๆ ในชื่อไฟล์ |
? | จับคู่อักขระตัวเดียวในชื่อไฟล์ |
[] | จับคู่อักขระใด ๆ ที่แนบมา |
() | ดำเนินการในเชลล์ย่อย |
“ | เอาต์พุตทดแทนของคำสั่งที่แนบมา |
"" | ใบเสนอราคาบางส่วน (อนุญาตให้ขยายตัวแปรและคำสั่ง) |
'' | ใบเสนอราคาแบบเต็ม (ไม่มีการขยาย) |
อ้างตามตัวอักษร | |
$var | ใช้ค่าตัวแปร |
$$ | รหัสกระบวนการ |
$0 | ชื่อคำสั่ง |
$n | อาร์กิวเมนต์ที่ n (n จาก 0 ถึง 9) |
$* | อาร์กิวเมนต์ทั้งหมดเป็นคำง่ายๆ |
# | เริ่มแสดงความคิดเห็น |
bg | การดำเนินการเบื้องหลัง |
ทำลาย | แยกจากคำสั่งวนซ้ำ |
cd | เปลี่ยนไดเรกทอรี |
ต่อ | เรียกใช้โปรแกรมลูปต่อ |
เสียงสะท้อน | แสดงผลออก |
ประเมิน | ประเมินข้อโต้แย้ง |
exec | ดำเนินการเชลล์ใหม่ |
fg | การดำเนินการเบื้องหน้า |
ตำแหน่งงาน | แสดงงานที่ใช้งานอยู่ |
ฆ่า | ยุติงานที่กำลังดำเนินการอยู่ |
ใหม่ | เปลี่ยนกลุ่มใหม่ |
เปลี่ยน | เลื่อนพารามิเตอร์ตำแหน่ง |
หยุด | ระงับงานเบื้องหลัง |
แขวน | ระงับงานเบื้องหน้า |
เวลา | เวลาสั่ง |
อูมาสก์ | ตั้งค่าหรือแสดงรายการสิทธิ์ของไฟล์ |
ยกเลิกการตั้งค่า | ลบคำนิยามตัวแปรหรือฟังก์ชัน |
รอ | รอให้งานพื้นหลังเสร็จสิ้น |
ค.2. คุณสมบัติที่แตกต่าง
ตารางด้านล่างแสดงความแตกต่างที่สำคัญระหว่างเชลล์มาตรฐาน (sh), บอร์น อะเกน เชลล์ (ทุบตี), คอร์นเชลล์ (ครับ) และ C เชลล์ (csh).
ความเข้ากันได้ของเชลล์
เนื่องจาก Bourne Again SHell เป็นซูเปอร์เซ็ตของ shทั้งหมด sh คำสั่งก็จะทำงานใน ทุบตี -แต่ไม่ใช่ในทางกลับกัน ทุบตี มีคุณสมบัติเพิ่มเติมมากมายในตัวของมันเอง และดังที่ตารางด้านล่างแสดงให้เห็น คุณลักษณะมากมายที่รวมจากเชลล์อื่นๆ
เนื่องจากเชลล์ Turbo C เป็น superset ของ cshทั้งหมด csh คำสั่งจะทำงานใน tcshแต่ไม่ใช่ในทางกลับกัน
ตาราง C-2. คุณสมบัติของเชลล์ที่แตกต่างกัน
sh | ทุบตี | ครับ | csh | ความหมาย/การกระทำ |
$ | $ | $ | % | พรอมต์ผู้ใช้เริ่มต้น |
>| | >| | >! | บังคับเปลี่ยนเส้นทาง | |
> ไฟล์ 2> & 1 | &> ไฟล์ or > ไฟล์ 2> & 1 | > ไฟล์ 2> & 1 | >& ไฟล์ | เปลี่ยนเส้นทาง stdout และ stderr ไปยัง ไฟล์ |
{} | {} | ขยายองค์ประกอบในรายการ | ||
`คำสั่ง` | `คำสั่ง` or $(คำสั่ง) | $(คำสั่ง) | `คำสั่ง` | ผลผลิตทดแทนของสิ่งที่แนบมา คำสั่ง |
$ HOME | $ HOME | $ HOME | $บ้าน | โฮมไดเร็กตอรี่ |
~ | ~ | ~ | สัญลักษณ์ไดเรกทอรีหลัก | |
~+, ~-, dirs | ~+, ~- | =-, =N | เข้าถึงไดเร็กทอรี stack | |
คือ=ค่า | VAR=ค่า | คือ=ค่า |
เซ็ต คือ=ค่า | การกำหนดตัวแปร | |||
ส่งออก คือ | ส่งออก VAR=ค่า | ส่งออก คือ= วาล | เซเตน คือ คลื่น | ตั้งค่าตัวแปรสภาพแวดล้อม |
${nnnn} | ${nn} | สามารถอ้างอิงอาร์กิวเมนต์ได้มากกว่า 9 ข้อ | ||
"$@" | "$@" | "$@" | อาร์กิวเมนต์ทั้งหมดเป็นคำที่แยกจากกัน | |
$# | $# | $# | $#argv | จำนวนอาร์กิวเมนต์ |
$? | $? | $? | $สถานะ | สถานะการออกของคำสั่งที่ดำเนินการล่าสุด |
$! | $! | $! | PID ของกระบวนการพื้นหลังล่าสุด | |
$- | $- | $- | ตัวเลือกปัจจุบัน | |
. ไฟล์ | แหล่ง ไฟล์ or . ไฟล์ | . ไฟล์ | แหล่ง ไฟล์ | อ่านคำสั่งในไฟล์ |
นามแฝง x='y' | นามแฝง x=y | นามแฝง xy | ชื่อ x ย่อมาจาก command y | |
กรณี | กรณี | กรณี | สลับ or กรณี | เลือกทางเลือกอื่น |
ทำ | ทำ | ทำ | ปลาย | สิ้นสุดคำสั่งวนรอบ |
ว่า C | ว่า C | ว่า C | สิ้นสุดw | ปลาย กรณี or สลับ |
ทางออก n | ทางออก n | ทางออก n | ทางออก (ประสบการณ์) | ออกจากสถานะ |
สำหรับ/do | สำหรับ/do | สำหรับ/do | แต่ละ | วนซ้ำตัวแปร |
เซ็ต -f , เซ็ต -o nullglob|dotglob|nocaseglob|noglob | โนโกล | ละเว้นอักขระทดแทนสำหรับการสร้างชื่อไฟล์ | ||
กัญชา | กัญชา | นามแฝง -t | แฮชสแตท | แสดงคำสั่งที่แฮช (นามแฝงที่ติดตาม) |
กัญชา ซม | กัญชา ซม | นามแฝง -t ซม | ซ้อมใหม่ | จำตำแหน่งคำสั่ง |
กัญชา -r | กัญชา -r | เลิกแฮช | ลืมตำแหน่งคำสั่ง |
ประวัติ | ประวัติ | ประวัติ | รายการคำสั่งก่อนหน้า | |
Arrowup+เข้าสู่ or !! | r | !! | ทำซ้ำคำสั่งก่อนหน้า | |
!Str | r Str | !Str | ทำซ้ำคำสั่งสุดท้ายที่ขึ้นต้นด้วย "str" | |
!cmd:NS/x/y/ | r x=ใช่ cmd | !cmd:NS/x/y/ | แทนที่ "x" ด้วย "y" ในคำสั่งล่าสุดที่ขึ้นต้นด้วย "cmd" จากนั้นดำเนินการ | |
ถ้า [ $i -เช่น 5 ] | ถ้า [ $i -เช่น 5 ] | ถ้า ((i==5)) | ถ้า ($i==5) | การทดสอบเงื่อนไขตัวอย่าง |
fi | fi | fi | endif | ปลาย if คำสั่ง |
ulimit | ulimit | ulimit | จำกัด | กำหนดขีดจำกัดทรัพยากร |
รหัสผ่าน | รหัสผ่าน | รหัสผ่าน | dirs | พิมพ์ไดเร็กทอรีการทำงาน |
อ่าน | อ่าน | อ่าน | $< | อ่านจากเทอร์มินัล |
กับดัก 2 | กับดัก 2 | กับดัก 2 | ภายใน | ละเว้นการขัดจังหวะ |
ยูนาเลีย | ยูนาเลีย | ยูนาเลีย | ลบนามแฝง | |
จนกระทั่ง | จนกระทั่ง | จนกระทั่ง | เริ่มต้น จนกระทั่ง ห่วง | |
ในขณะที่/do | ในขณะที่/do | ในขณะที่/do | ในขณะที่ | เริ่มต้น ในขณะที่ ห่วง |
Bourne Again SHell มีคุณสมบัติเพิ่มเติมมากมายที่ไม่ได้ระบุไว้ที่นี่ ตารางนี้มีขึ้นเพื่อให้คุณได้แนวคิดว่าเชลล์นี้รวมเอาแนวคิดที่เป็นประโยชน์ทั้งหมดจากเชลล์อื่นๆ อย่างไร: ไม่มีช่องว่างในคอลัมน์สำหรับ ทุบตี. ข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติที่พบใน Bash เท่านั้นที่สามารถเรียกค้นได้จากหน้าข้อมูล Bash ในส่วน "คุณลักษณะของ Bash"
ข้อมูลเพิ่มเติม:
อย่างน้อยคุณควรอ่านคู่มือหนึ่งเล่ม ซึ่งเป็นคู่มือของเชลล์ของคุณ ตัวเลือกที่ต้องการจะเป็น ข้อมูลทุบตี, ทุบตี เป็นเชลล์ GNU และง่ายที่สุดสำหรับผู้เริ่มต้น พิมพ์ออกมาแล้วนำกลับบ้าน ศึกษาทุกครั้งที่คุณมีเวลา 5 นาที
ดูภาคผนวก B หากคุณประสบปัญหาในการดูดซึมคำสั่งเชลล์