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

สำหรับคำถามเกี่ยวกับสคริปต์ที่เขียนขึ้นสำหรับเชลล์คำสั่ง Bash สำหรับเชลล์สคริปต์ที่มีข้อผิดพลาด / ข้อผิดพลาดทางไวยากรณ์โปรดตรวจสอบด้วยโปรแกรม shellcheck (หรือในเซิร์ฟเวอร์ shellcheck เว็บที่ https://shellcheck.net) ก่อนโพสต์ที่นี่ คำถามเกี่ยวกับการใช้งานอินเทอร์แอคทีฟของ Bash นั้นมีแนวโน้มที่จะอยู่ในหัวข้อของผู้ใช้ขั้นสูงมากกว่าในสแต็คโอเวอร์โฟลว์

10
สะท้อนอักขระแท็บในสคริปต์ทุบตี
ฉันจะสะท้อนอักขระแท็บอย่างน้อยหนึ่งตัวโดยใช้สคริปต์ทุบตีได้อย่างไร เมื่อฉันเรียกใช้รหัสนี้ res=' 'x # res = "\t\tx" echo '['$res']' # expect [\t\tx] ฉันได้รับสิ่งนี้ res=[ x] # that is [<space>x]
313 bash  tabs  echo  spaces 

7
ฉันจะเรียกคืนอาร์กิวเมนต์ของคำสั่ง bash ก่อนหน้าได้อย่างไร
มีวิธีใน Bash เพื่อเรียกคืนอาร์กิวเมนต์ของคำสั่งก่อนหน้าหรือไม่? ฉันมักจะตามมาด้วยvi file.cgcc file.c มีวิธีใน Bash เพื่อเรียกคืนอาร์กิวเมนต์ของคำสั่งก่อนหน้าหรือไม่?
312 linux  bash  unix  command 


10
การรันหลายคำสั่งด้วย xargs
cat a.txt | xargs -I % echo % ในตัวอย่างข้างต้น xargs ใช้echo %เป็นอาร์กิวเมนต์คำสั่ง แต่ในบางกรณีฉันต้องการคำสั่งหลายคำสั่งเพื่อดำเนินการโต้แย้งแทนคำสั่งเดียว ตัวอย่างเช่น: cat a.txt | xargs -I % {command1; command2; ... } แต่ xargs ไม่ยอมรับแบบฟอร์มนี้ ทางออกหนึ่งที่ฉันรู้คือฉันสามารถกำหนดฟังก์ชั่นเพื่อห่อคำสั่งได้ แต่มันไม่ใช่ไพพ์ไลน์ฉันไม่ชอบมัน มีวิธีแก้ไขปัญหาอื่นอีกหรือไม่
310 bash  xargs 

5
วิธีการทำให้คำสั่ง 'ตัด' ปฏิบัติต่อตัวคั่นลำดับเดียวกับเดียว?
ฉันกำลังพยายามแยกฟิลด์ (ที่สี่) จากคอลัมน์สตรีมข้อความที่ปรับตามพื้นที่ ฉันพยายามใช้cutคำสั่งในลักษณะดังต่อไปนี้: cat text.txt | cut -d " " -f 4 น่าเสียดายที่cutไม่ใช้ช่องว่างหลายช่องเป็นตัวคั่นเดียว ฉันสามารถส่งผ่าน awk ได้ awk '{ printf $4; }' หรือ sed sed -E "s/[[:space:]]+/ /g" เพื่อยุบช่องว่าง แต่ฉันต้องการทราบว่ามีวิธีจัดการกับcutตัวคั่นหลายตัวหรือไม่
309 bash  unix  delimiter  cut 

8
วิธีการแสดงหลายเงื่อนไขในเปลือกถ้าคำสั่ง?
ฉันต้องการเป็นตัวแทนของหลายเงื่อนไขเช่นนี้: if [ ( $g -eq 1 -a "$c" = "123" ) -o ( $g -eq 2 -a "$c" = "456" ) ] then echo abc; else echo efg; fi แต่เมื่อฉันรันสคริปต์มันจะแสดงขึ้น syntax error at line 15: `[' unexpected, เมื่อบรรทัดที่ 15 เป็นบรรทัดที่แสดงว่า .... เกิดอะไรขึ้นกับเงื่อนไขนี้ ()ผมคิดว่าสิ่งที่เป็นธรรมกับ
308 bash  shell  unix 


4
ติดตั้ง MySQL บน Ubuntu โดยไม่ต้องใส่รหัสผ่าน
ฉันจะเขียนสคริปต์เพื่อติดตั้งเซิร์ฟเวอร์ MySQL บน Ubuntu ได้อย่างไร sudo apt-get install mysql จะติดตั้ง แต่จะขอให้ใส่รหัสผ่านในคอนโซล ฉันจะทำสิ่งนี้ในลักษณะที่ไม่โต้ตอบได้อย่างไร นั่นคือเขียนสคริปต์ที่สามารถให้รหัสผ่านได้หรือไม่ #!/bin/bash sudo apt-get install mysql # To install MySQL server # How to write script for assigning password to MySQL root user # End
305 mysql  bash  ubuntu  apt 

11
การต่อเชื่อมไฟล์ข้อความหลายไฟล์เป็นไฟล์เดียวใน Bash
วิธีที่เร็วและจริงจังที่สุดในการรวมไฟล์ * .txt ทั้งหมดในไดเรกทอรีเป็นไฟล์ข้อความขนาดใหญ่หนึ่งไฟล์คืออะไร ขณะนี้ฉันใช้ windows กับ cygwin ดังนั้นฉันจึงสามารถเข้าถึง BASH ได้ คำสั่งเชลล์ของ Windows จะดีเช่นกัน แต่ฉันสงสัยว่ามันมีอยู่
305 bash  shell 

9
ส่งคืนค่าในฟังก์ชัน Bash
ฉันทำงานกับสคริปต์ทุบตีและฉันต้องการเรียกใช้ฟังก์ชันเพื่อพิมพ์ค่าส่งคืน: function fun1(){ return 34 } function fun2(){ local res=$(fun1) echo $res } เมื่อฉันเรียกใช้fun2งานจะไม่พิมพ์ "34" ทำไมเป็นกรณีนี้

19
มีวิธีที่ดีกว่าในการรันคำสั่ง N ครั้งในการทุบตี?
ฉันรัน bash command line เป็นครั้งคราวเช่นนี้ n=0; while [[ $n -lt 10 ]]; do some_command; n=$((n+1)); done หากต้องการเรียกใช้some_commandจำนวนครั้งในแถว - 10 ครั้งในกรณีนี้ บ่อยครั้งsome_commandเป็นสายของคำสั่งหรือไปป์ไลน์ มีวิธีรัดกุมกว่านี้หรือไม่?
304 bash  loops 

16
รับ ssh เพื่อรันคำสั่งในพื้นหลังบนเครื่องเป้าหมาย
นี่เป็นคำถามต่อไปนี้คุณจะใช้ ssh ในเชลล์สคริปต์ได้อย่างไร คำถาม. หากฉันต้องการรันคำสั่งบนเครื่องรีโมตที่รันในพื้นหลังบนเครื่องนั้นฉันจะเรียกคำสั่ง ssh กลับมาได้อย่างไร? เมื่อฉันพยายามที่จะรวมเครื่องหมายและ (&) ที่ส่วนท้ายของคำสั่งมันก็แฮงค์ รูปแบบที่แน่นอนของคำสั่งมีลักษณะดังนี้: ssh user@target "cd /some/directory; program-to-execute &" ความคิดใด ๆ สิ่งหนึ่งที่ควรทราบคือการเข้าสู่ระบบไปยังเครื่องเป้าหมายจะสร้างแบนเนอร์ข้อความเสมอและฉันมีการตั้งค่าคีย์SSHดังนั้นจึงไม่จำเป็นต้องใช้รหัสผ่าน
304 bash  ssh  csh 

11
จะหาคำลงท้ายบรรทัดในไฟล์ข้อความได้อย่างไร?
ฉันพยายามที่จะใช้บางสิ่งบางอย่างในการทุบตีเพื่อแสดงให้ฉันเห็นสายที่สิ้นสุดในไฟล์ที่พิมพ์แทนที่จะตีความ ไฟล์นี้เป็นดัมพ์จาก SSIS / SQL Server ที่กำลังอ่านโดยเครื่อง Linux สำหรับการประมวลผล มีสวิทช์ใด ๆ ภายในvi, less, moreetc? นอกเหนือจากการเห็นจุดสิ้นสุดบรรทัดฉันจำเป็นต้องทราบประเภทของจุดสิ้นสุดบรรทัด ( CRLFหรือLF) ฉันจะหาสิ่งนั้นได้อย่างไร

7
เน้นรหัสทุบตี / เปลือกใน markdown
วิธีไฮไลต์คำสั่ง bash / shell ในไฟล์ markdown? ตัวอย่างเช่นเพื่อเน้นjsฉันเขียน: ```js function () { return "This code is highlighted as Javascript!"} ``` ```htmlเพื่อเน้นการใช้งาน HTML ฉันรหัส เราจะเน้นคำสั่ง bash / shell ได้อย่างไร

13
ทำซ้ำคำสั่งอัตโนมัติใน Linux
เป็นไปได้ในบรรทัดคำสั่ง Linux ที่มีคำสั่งทำซ้ำทุก ๆnวินาทีหรือไม่? พูดว่าฉันใช้การนำเข้าแล้วและกำลังทำอยู่ ls -l เพื่อตรวจสอบว่าขนาดไฟล์เพิ่มขึ้นหรือไม่ ฉันต้องการมีคำสั่งให้ทำซ้ำนี้โดยอัตโนมัติ
303 linux  bash  ubuntu 

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