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

คำถามเฉพาะของ Bourne อีกครั้งของเชลล์ใน GNU เมื่อเทียบกับเชลล์ Bourne / POSIX อื่น ๆ สำหรับคำถามเกี่ยวกับเชลล์ Unix โดยทั่วไปให้ใช้ / เชลล์แท็กแทน

5
ฉันจะทราบได้อย่างไรว่ามีการติดตั้งแพคเกจผ่าน yum ใน bash script หรือไม่
ฉันพยายามเขียนสคริปต์ที่ติดตั้งแพคเกจ แต่ถ้ามันล้มเหลว ณ จุดใด ๆ ในสคริปต์ย้อนกลับสิ่งที่มันติดตั้ง แน่นอนว่าหากผู้ใช้ติดตั้งแพคเกจไว้ก่อนหน้านี้แล้วฉันไม่ต้องการถอนการติดตั้งออกมาจากใต้แพ็คเกจ สคริปต์ของฉันจะทราบได้อย่างไรว่ามีการติดตั้งแพคเกจก่อนหน้านี้ผ่าน yum หรือไม่

9
วิธีแก้ปัญหาที่หน้าจอเทอร์มินัลมีปัญหา (ปกติหลังจากการปรับขนาด)
บางครั้งหน้าจอเทอร์มินัลจะเลอะและเมื่อเราใช้man lsเพื่ออ่าน manpages หรือกดลูกศรขึ้นเพื่อไปที่คำสั่งก่อนหน้าในประวัติศาสตร์หน้าจอจะแสดงตัวอักษรที่ไม่ถูกต้อง (ตัวอย่างเช่นรักษาจุดสิ้นสุดของหน้าจอเป็นบางส่วนที่อยู่ตรงกลางของหน้าจอ) คำสั่งresetถูกลองและจะไม่ทำงาน วิธีหนึ่งที่ใช้งานได้คือออกจากระบบหรือปิดหน้าต่างและปรับขนาดหน้าต่างก่อนแล้วจึงทำssh(หรือปิดแท็บนั้นและปรับขนาดหน้าต่างแล้วเปิดแท็บใหม่เพื่อรับเชลล์ใหม่) แต่ด้วยวิธีนี้เราจะสูญเสียสิ่งที่เราทำไปก่อนหน้านี้เช่นการเริ่มต้นคอนโซลเครื่องเสมือนเป็นต้นดังนั้นหากเราไม่ปิดเชลล์มีวิธีแก้ไขปัญหานี้หรือไม่ (เกิดขึ้นก่อนหน้านี้ภายใน Fedora และสำหรับ Macbook sshในกล่อง RHEL 5.4) ปรับปรุง:ผมจำได้ว่าตอนนี้วิธีที่มันเกิดขึ้นใน Fedora: ผมเปิด Terminal และได้ FreeVM ใช้คอนโซลของเครื่องเสมือนจริง (เปลือก) ฉันคิดว่ามันมีขนาด 80 x 25 และหลังจากนั้นครู่หนึ่งฉันปรับขนาดเทอร์มินัลเป็น 130 x 50 โดยประมาณจากนั้น "เชลล์ใน" (ของ VM) เริ่มทำงานแปลก ๆ )
75 bash  terminal 

7
คุณจะใช้ตัวอธิบายไฟล์เพิ่มเติมเมื่อใด
ฉันรู้ว่าคุณสามารถสร้างไฟล์ descriptor และเปลี่ยนเส้นทางไปยังมัน เช่น exec 3<> /tmp/foo # open fd 3. echo a >&3 # write to it exec 3>&- # close fd 3. แต่คุณสามารถทำสิ่งเดียวกันโดยไม่มีไฟล์ descriptor: FILE=/tmp/foo echo a > "$FILE" ฉันกำลังมองหาตัวอย่างที่ดีเมื่อคุณจะต้องใช้ตัวอธิบายไฟล์เพิ่มเติม



7
ฉันมีกระสุนจำนวนเท่าไร
ปัญหา : ค้นหาว่าฉันมีกระสุนจำนวนเท่าไร รายละเอียด : ฉันเปิดเปลือกจากกลุ่มมาก สร้างและเรียกใช้และออกจาก บางครั้งฉันลืมและเปิดเสียงเรียกเข้าภายในจากนั้นก็อีกเปลือก :( ฉันอยากรู้ว่าฉันอยู่ลึกเท่าไรในเปลือกหอยฉันอาจจะมีมันบนหน้าจอเชลล์ของฉันตลอดเวลา (ฉันสามารถจัดการส่วนนั้น) โซลูชันของฉัน : แยกแผนผังกระบวนการและมองหา vim และ bash / zsh และค้นหาความลึกของกระบวนการปัจจุบันที่อยู่ภายใน มีบางอย่างเช่นนั้นที่มีอยู่แล้วหรือไม่? ฉันหาอะไรไม่เจอ
73 bash  shell-script  shell  vim  zsh 

7
กด space เพื่อดำเนินการต่อ
ฉันจะหยุดสคริปต์ทุบตีจนกว่าผู้ใช้จะกดได้Spaceอย่างไร ฉันต้องการมีคำถามในสคริปต์ของฉัน กด space เพื่อดำเนินการต่อหรือCTRL+ Cเพื่อออก จากนั้นสคริปต์ควรหยุดและรอจนกว่าจะกด Space



7
ตั้งค่าและเลือกซื้อ - สองทำไม
setและshoptเป็นทั้งบิวด์เชลล์ที่ควบคุมตัวเลือกต่าง ๆ ฉันมักจะลืมว่าตัวเลือกใดถูกตั้งค่าตามคำสั่งใดและตัวเลือกใดที่ตั้งค่า / ไม่ปลอดภัย ( set -o/+o, shopt -s/-u) เหตุใดจึงมีสองคำสั่งต่างกันที่ดูเหมือนจะทำสิ่งเดียวกัน (และมีข้อโต้แย้งต่าง ๆ ให้ทำ) มีวิธีใด / ตัวย่อช่วยจำให้จำว่ามีตัวเลือกใดบ้างที่ใช้คำสั่งใด?
72 bash  settings  shopt 

4
อะไรคือความแตกต่างระหว่างคำสั่ง builtin และคำสั่งที่ไม่ได้ใช้?
มีความแตกต่างที่แท้จริงระหว่างคำสั่ง builtin และคำสั่งอื่นซึ่งในนามสามารถทำสิ่งเดียวกันในนาม? เช่น. builtins ได้รับการบำบัดแบบพิเศษหรือไม่ ... มีค่าใช้จ่ายน้อยลงหรือไม่ .. หรือว่าพวกเขาเพียงแค่ 'สร้างขึ้นใน'; ชอบแดชบอร์ดของรถของคุณ? ... และมีรายการ (ปัจจุบัน) ที่ชัดเจนของ builtins เหล่านี้หรือไม่

10
แสดงผลรวมของขนาดไฟล์ในรายการไดเรกทอรี
dirคำสั่งรายชื่อไดเรคทอรี Windows มีบรรทัดที่ท้ายแสดงจำนวนพื้นที่ทั้งหมดที่ใช้โดยไฟล์ที่แสดง ตัวอย่างเช่นdir *.exeแสดง.exeไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันขนาดและผลรวมทั้งหมดของขนาด ฉันชอบที่จะมีฟังก์ชั่นที่คล้ายกันกับdirนามแฝงของฉันในทุบตี แต่ฉันไม่แน่ใจว่าจะทำอย่างไร ขณะนี้ฉันมีalias dir='ls -FaGl'ในของฉัน.bash_profileแสดง drwxr-x---+ 24 mattdmo 4096 Mar 14 16:35 ./ drwxr-x--x. 256 root 12288 Apr 8 21:29 ../ -rw------- 1 mattdmo 13795 Apr 4 17:52 .bash_history -rw-r--r-- 1 mattdmo 18 May 10 2012 .bash_logout -rw-r--r-- 1 mattdmo 395 Dec 9 17:33 .bash_profile …
71 bash  shell-script  awk  ls 

2
วิธี grep ผลลัพธ์ของ cURL?
ฉันต้องดึงวันหมดอายุของใบรับรอง SSL curlแอพลิเคชันไม่ให้ข้อมูลนี้: $ curl -v https://google.com/ * Hostname was NOT found in DNS cache * Trying 212.179.180.121... * Connected to google.com (212.179.180.121) port 443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS handshake, Server hello …

9
bash - แทนที่ช่องว่างด้วยบรรทัดใหม่
ฉันจะแทนที่ช่องว่างด้วยบรรทัดใหม่ในอินพุตเช่น: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 ฯลฯ ... เพื่อรับสิ่งต่อไปนี้: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 บันทึก ฉันโพสต์คำถามนี้เพื่อช่วยผู้ใช้รายอื่นมันไม่ง่ายเลยที่จะหาคำตอบที่มีประโยชน์ใน UNIX SE จนกว่าฉันจะเริ่มพิมพ์คำถามนี้ หลังจากนั้นฉันพบสิ่งต่อไปนี้: คำถามที่เกี่ยวข้อง ฉันจะค้นหาและแทนที่ด้วยบรรทัดใหม่ได้อย่างไร

8
#! / bin / bash - ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
ฉันสร้างสคริปต์ทุบตี แต่เมื่อฉันพยายามเรียกใช้งานฉันจะได้รับ #!/bin/bash no such file or directory ฉันต้องการเรียกใช้คำสั่ง: bash script.shเพื่อให้สามารถใช้งานได้ ฉันจะแก้ไขสิ่งนี้ได้อย่างไร

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