คำถามติดแท็ก shell

คำว่า 'เชลล์' หมายถึงคลาสทั่วไปของล่ามคำสั่งแบบโต้ตอบตามข้อความซึ่งส่วนใหญ่มักเกี่ยวข้องกับระบบปฏิบัติการ Unix & Linux สำหรับคำถามเกี่ยวกับการเขียนสคริปต์เชลล์โปรดใช้แท็กเฉพาะเพิ่มเติมเช่น 'bash', 'powershell' หรือ 'ksh' หากไม่มีแท็กเฉพาะควรใช้วิธีแก้ปัญหาแบบพกพา (POSIX-compliant) แม้ว่าจะใช้ 'posix' เพิ่มเติมหรือ 'sh' แทนก็ตาม

6
วิธีทำให้ zsh ทำงานเป็นเชลล์ล็อกอินบน Mac OS X (ใน iTerm)
เมื่อ zsh ถูกตั้งค่าเป็น login shell บน Mac OS X, เมื่อเริ่มต้นโดย iTerm, zsh ไม่คิดว่ามันถูกเรียกใช้เป็นเชลล์การเข้าสู่ระบบ, แม้ว่ามันจะเริ่มต้นเป็น '-zsh' ('-' ถูกใส่เป็น อักขระตัวแรกของ arg [0]) ซึ่งควรจะหมายความว่ามันควรจะเริ่มเป็นเชลล์ล็อกอิน ดังนั้นเมื่อฉันตั้งค่าเปลือกเข้าสู่ระบบเพื่อทุบตีทุบตีตระหนักถึงครั้งแรกนี้ '-' ใน $ 0 และทำงานเป็นเปลือกเข้าสู่ระบบ แต่ zsh ไม่แม้ว่ามันจะดูเหมือนว่าควร มีวิธีทำให้ zsh รู้จัก '-' ใน arg [0] หรือทำให้ iTerm รันเชลล์ด้วยอาร์กิวเมนต์บรรทัดคำสั่ง --login หรือไม่?
149 macos  bash  shell  zsh 

16
วิธีการ ssh ไปยังคนเร่ร่อนโดยไม่เรียกใช้ "คนจรจัด ssh" จริง ๆ ?
ฉันอยากจะทำซ้ำวิธีที่ Vagrant บันทึกลงใน VM ของฉันภายในเชลล์สคริปต์โดยใช้sshคำสั่งดังนั้นฉันจึงสร้างนามแฝงในอินสแตนซ์ Vagrant ของฉัน ไวยากรณ์คำสั่งเพื่อใช้sshคำสั่งปกติเพื่อเข้าถึงมันคืออะไร?

12
ไม่พบคำสั่ง source ใน sh shell
ฉันมีสคริปต์ที่ใช้shเชลล์ ฉันพบข้อผิดพลาดในบรรทัดที่ใช้sourceคำสั่ง ดูเหมือนว่าsourceจะไม่รวมอยู่ในshเปลือกของฉัน ถ้าฉันพยายามเรียกใช้sourceจาก shell อย่างชัดเจนฉันจะได้รับ: sh: 1: source: not found ฉันควรติดตั้ง "แหล่ง" อย่างใดหรือไม่ ฉันมีรุ่นผิดshหรือเปล่า?
149 bash  shell  sh 

21
วิธีใช้ sed เพื่อลบบรรทัดสุดท้ายของไฟล์
ฉันต้องการที่จะลบบางnเส้นจากจุดสิ้นสุดของแฟ้ม สิ่งนี้สามารถทำได้โดยใช้ sed? ตัวอย่างเช่นหากต้องการลบบรรทัดจาก 2 เป็น 4 ฉันสามารถใช้ได้ $ sed '2,4d' file แต่ฉันไม่รู้หมายเลขบรรทัด ฉันสามารถลบบรรทัดสุดท้ายโดยใช้ $sed $d file แต่ฉันต้องการทราบวิธีลบเส้นnจากจุดสิ้นสุด โปรดแจ้งให้ฉันทราบวิธีการใช้ sed หรือวิธีอื่น
148 linux  bash  shell  sed 

9
จะลบบรรทัดที่ซ้ำกันในไฟล์โดยไม่เรียงลำดับใน Unix ได้อย่างไร?
มีวิธีลบบรรทัดที่ซ้ำกันในไฟล์ใน Unix หรือไม่? ฉันสามารถทำได้ด้วยsort -uและuniqคำสั่ง แต่ฉันต้องการใช้sedหรือawk. เป็นไปได้หรือไม่
148 unix  shell  scripting  sed  awk 

3
ตรวจสอบจำนวนอาร์กิวเมนต์ที่ถูกต้อง
ฉันจะตรวจสอบจำนวนข้อโต้แย้งที่ถูกต้องได้อย่างไร (ข้อโต้แย้งหนึ่งข้อ) หากมีคนพยายามเรียกใช้สคริปต์โดยไม่ผ่านจำนวนอาร์กิวเมนต์ที่ถูกต้องและตรวจสอบเพื่อให้แน่ใจว่าอาร์กิวเมนต์บรรทัดคำสั่งมีอยู่จริงและเป็นไดเรกทอรี
147 shell  scripting 

10
พิมพ์วันที่แก้ไขล่าสุดของไฟล์ใน Bash
ฉันไม่สามารถหาวิธีพิมพ์วันที่ของไฟล์ได้ ฉันสามารถพิมพ์ไฟล์ทั้งหมดในไดเรกทอรีได้ แต่ฉันต้องพิมพ์วันที่ด้วย ฉันรู้ว่าฉันต้องแนบรูปแบบวันที่ด้วยเสียงสะท้อนของรายการ แต่ทั้งหมดฉันไม่พบรูปแบบที่ถูกต้อง echo "Please type in the directory you want all the files to be listed" read directory for entry in "$directory"/* do echo "$entry" done
147 bash  shell  file  date  unix 

10
ฉันจะลบนามสกุลไฟล์ในเชลล์สคริปต์ได้อย่างไร
มีอะไรผิดปกติกับรหัสต่อไปนี้? name='$filename | cut -f1 -d'.'' ตามที่ฉันได้รับสายตัวอักษร$filename | cut -f1 -d'.'แต่ถ้าฉันลบอัญประกาศฉันไม่ได้รับอะไร ในขณะเดียวกันพิมพ์ "test.exe" | cut -f1 -d'.' ในเชลล์ให้ผลลัพธ์ที่ฉันต้องการ, test. ฉันรู้แล้วว่า$filenameได้รับการกำหนดค่าที่เหมาะสม สิ่งที่ฉันต้องการจะทำคือกำหนดตัวแปรชื่อไฟล์ที่ไม่มีนามสกุล
145 bash  shell  sh  cut  gnu-coreutils 

10
จะไปยังแต่ละไดเรกทอรีและดำเนินการคำสั่งได้อย่างไร
ฉันจะเขียนสคริปต์ทุบตีที่ผ่านแต่ละไดเรกทอรีภายใน parent_directory และดำเนินการคำสั่งในแต่ละไดเรกทอรีได้อย่างไร โครงสร้างไดเรกทอรีเป็นดังนี้: parent_directory (ชื่อสามารถเป็นอะไรก็ได้ - ไม่เป็นไปตามรูปแบบ) 001 (ชื่อไดเรกทอรีตามรูปแบบนี้) 0001.txt (ชื่อไฟล์เป็นไปตามรูปแบบนี้) 0002.txt 0003.txt 002 0001.txt 0002.txt 0003.txt 0004.txt 003 0001.txt ไม่ทราบจำนวนไดเรกทอรี
144 bash  shell  unix  find 

11
$$ หมายความว่าอะไรในเปลือกหอย?
ฉันเคยอ่านว่าวิธีหนึ่งในการรับชื่อไฟล์ที่ไม่ซ้ำในเชลล์สำหรับไฟล์ temp คือการใช้เครื่องหมายดอลลาร์สองครั้ง ( $$) สิ่งนี้จะสร้างตัวเลขที่แตกต่างกันเป็นครั้งคราว ... แต่ถ้าคุณเรียกมันซ้ำ ๆ มันจะส่งกลับหมายเลขเดิม (การแก้ปัญหาคือเพียงใช้เวลา) ฉันอยากรู้ว่า$$จริง ๆ แล้วคืออะไรและทำไมมันถึงได้รับการแนะนำว่าเป็นวิธีในการสร้างชื่อไฟล์ที่ไม่เหมือนใคร
143 shell  scripting 

6
ฉันจะทำการหารด้วยตัวแปรในเชลล์ลินุกซ์ได้อย่างไร
เมื่อฉันเรียกใช้คำสั่งในเชลล์ของฉันดังต่อไปนี้จะส่งคืนexpr: non-integer argumentข้อผิดพลาด ใครช่วยอธิบายเรื่องนี้ให้ฉันฟังหน่อยได้ไหม $ x=20 $ y=5 $ expr x / y expr: non-integer argument

5
บรรทัด“ #! / bin / sh” หมายถึงอะไรในเชลล์สคริปต์ UNIX
ฉันกำลังทำแบบฝึกหัดเชลล์สคริปต์และพบโปรแกรมตัวอย่างต่อไปนี้: #!/bin/sh clear echo "HELLO WORLD" ทุกคนได้โปรดบอกฉันว่าความสำคัญของความคิดเห็น#!/bin/shในตอนเริ่มต้นคืออะไร?
142 shell  unix  sh  shebang 

10
เปลี่ยนชื่อไฟล์และไดเรกทอรี (เพิ่มคำนำหน้า)
ฉันต้องการเพิ่มคำนำหน้าในโฟลเดอร์และไดเรกทอรีทั้งหมด ตัวอย่าง: ฉันมี Hi.jpg 1.txt folder/ this.file_is.here.png another_folder.ok/ ฉันต้องการเพิ่มคำนำหน้า "PRE_" PRE_Hi.jpg PRE_1.txt PRE_folder/ PRE_this.file_is.here.png PRE_another_folder.ok/ ความนับถือ,
142 linux  perl  shell 

17
ไฟล์ Linux ที่รวดเร็วนับสำหรับไฟล์จำนวนมาก
ฉันกำลังพยายามหาวิธีที่ดีที่สุดในการค้นหาจำนวนไฟล์ในไดเร็กทอรีหนึ่ง ๆ เมื่อมีไฟล์จำนวนมาก (มากกว่า 100,000 ไฟล์) เมื่อมีไฟล์จำนวนมากการดำเนินการls | wc -lใช้เวลาค่อนข้างนานในการดำเนินการ ฉันเชื่อว่านี่เป็นเพราะมันส่งคืนชื่อของไฟล์ทั้งหมด ฉันพยายามใช้ดิสก์ I / O ให้น้อยที่สุด ฉันได้ทดลองกับเชลล์และสคริปต์ Perl บางส่วนแล้วก็ไม่มีประโยชน์ ฉันจะทำมันได้อย่างไร?
142 linux  shell  disk-io 

5
ออกจากสคริปต์ในข้อผิดพลาด
ฉันกำลังสร้างเชลล์สคริปต์ที่มีifฟังก์ชั่นเช่นนี้: if jarsigner -verbose -keystore $keyst -keystore $pass $jar_file $kalias then echo $jar_file signed sucessfully else echo ERROR: Failed to sign $jar_file. Please recheck the variables fi ... ฉันต้องการให้การทำงานของสคริปต์เสร็จสิ้นหลังจากแสดงข้อความแสดงข้อผิดพลาด ฉันจะทำสิ่งนี้ได้อย่างไร
141 bash  exit  shell 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.