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

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

16
วิธีทำให้ฮาร์ดแวร์ส่งเสียงบี๊บใน Mac OS X 10.6
ฉันแค่อยากให้ Mac OS X 10.6 ทำเสียงบี๊บของฮาร์ดแวร์เหมือนในลักษณะเปิดและกระจายอื่น ๆ ฉันลองทำตามวิธี เทอร์มินัล -> beep = -bash: beep: ไม่พบคำสั่ง เทอร์มินัล -> say beep = เสียงพูดบี๊บ (ไม่ใช่เสียงบี๊บฮาร์ดแวร์ แต่ยอดเยี่ยม;)) applescript -> beep = เบลล์ Macintosh (ฉันต้องการ Hardware beep!) ไม่มีใครรู้วิธีทำให้ Hardware beep เป็น bin / bash หรือ applescript
174 bash  macos  applescript  beep 

9
ฉันจะแก้ไข $ PATH (.bash_profile) บน OSX ได้อย่างไร
ฉันกำลังพยายามแก้ไขรายการใน PATH เนื่องจากฉันทำอะไรผิดพลาด ฉันใช้ Mac OS X 10.10.3 ฉันเหนื่อย: > touch ~/.bash_profile; open ~/.bash_profile แต่ตัวแก้ไขไฟล์จะเปิดขึ้นโดยไม่มีอะไรอยู่ข้างใน ปัญหาของฉัน: ฉันกำลังพยายามติดตั้ง ANDROID_HOME ใน PATH ของฉัน ฉันสะกดมันผิด แต่เมื่อฉันปิดเครื่องและกลับไปมันก็หายไปดังนั้นฉันจึงลองอีกครั้ง: export ANDROID_HOME=/<installation location>/android-sdk-macosx export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools ครั้งนี้ฉันพิมพ์คำสั่งอย่างถูกต้อง แต่เมื่อฉันปิดเครื่องการตั้งค่าของฉันก็หายไปอีกครั้ง ฉันจะเรียกใช้การตั้งค่าที่ต้องการได้อย่างไร ถ้าฉันจะแก้ไข bash.profile ฉันจะป้อนรหัสด้านบนได้อย่างไร ขอบคุณ!

10
วิธีต่อท้ายเนื้อหาของไฟล์หลาย ๆ ไฟล์เป็นไฟล์เดียว
ฉันต้องการคัดลอกเนื้อหาของห้าไฟล์ไปยังหนึ่งไฟล์ตามที่เป็นอยู่ ฉันลองทำโดยใช้ cp สำหรับแต่ละไฟล์ แต่นั่นเขียนทับเนื้อหาที่คัดลอกมาจากไฟล์ก่อนหน้า ฉันก็ลอง paste -d "\n" 1.txt 0.txt และมันไม่ทำงาน ฉันต้องการให้สคริปต์ของฉันเพิ่มบรรทัดใหม่ที่ท้ายไฟล์ข้อความแต่ละไฟล์ เช่น. ไฟล์ 1.txt, 2.txt, 3.txt ใส่เนื้อหาของ 1,2,3 ใน 0.txt ฉันต้องทำอย่างไร ?
174 linux  bash  unix 

2
ทุบตี HISTSIZE กับ HISTFILESIZE?
ข้อแตกต่างในการHISTSIZEเปรียบเทียบHISTFILESIZEคืออะไร? พวกเขาจะใช้ในการขยายประวัติทุบตีเกินกว่า 500 บรรทัดเริ่มต้น ดูเหมือนว่าจะไม่มีความชัดเจนที่นี่และในฟอรัมอื่น ๆ เกี่ยวกับสาเหตุที่ทั้งคู่ต้องการ ( ตัวอย่างที่ 1 , 2 ตัวอย่าง , ตัวอย่างที่ 3 )
174 bash  unix 


8
ผ่านสตริงที่มีช่องว่างเป็นอาร์กิวเมนต์ฟังก์ชั่นในทุบตี
ฉันกำลังเขียนสคริปต์ทุบตีที่ฉันต้องการส่งสตริงที่มีช่องว่างไปยังฟังก์ชันในสคริปต์ทุบตีของฉัน ตัวอย่างเช่น: #!/bin/bash myFunction { echo $1 echo $2 echo $3 } myFunction "firstString" "second string with spaces" "thirdString" เมื่อเรียกใช้ผลลัพธ์ที่ฉันต้องการคือ: firstString second string with spaces thirdString อย่างไรก็ตามสิ่งที่เอาท์พุทคือ: firstString second string มีวิธีการส่งผ่านสตริงที่มีช่องว่างเป็นอาร์กิวเมนต์เดียวกับฟังก์ชั่นในทุบตี?
173 bash  function 

9
วิธีการรันคำสั่ง sftp ด้วยรหัสผ่านจาก Bash script
ฉันต้องการถ่ายโอนไฟล์บันทึกไปยังโฮสต์ระยะไกลโดยใช้sftpจากโฮสต์ Linux ฉันได้รับข้อมูลประจำตัวสำหรับสิ่งเดียวกันจากกลุ่มปฏิบัติการของฉัน อย่างไรก็ตามเนื่องจากฉันไม่สามารถควบคุมโฮสต์อื่นได้ฉันจึงไม่สามารถสร้างและแบ่งปันคีย์ RSA กับโฮสต์อื่นได้ ดังนั้นมีวิธีการเรียกใช้sftpคำสั่ง (มีชื่อผู้ใช้ / รหัสผ่านให้) จากภายในสคริปต์ทุบตีผ่านงานcronหรือไม่ ฉันพบคำถาม Stack Overflow ที่คล้ายกันระบุรหัสผ่านเป็น sftp ในสคริปต์ Bashแต่ไม่มีคำตอบที่น่าพอใจสำหรับปัญหาของฉัน
173 bash  shell  unix  ssh  sftp 

5
ฉันจะคัดค้านการทดสอบด้วยการแสดงออกปกติในสคริปต์ทุบตีได้อย่างไร
การใช้ GNU bash (รุ่น 4.0.35 (1) - ปล่อย (x86_64-suse-linux-gnu) ฉันต้องการที่จะปฏิเสธการทดสอบด้วยนิพจน์ทั่วไปตัวอย่างเช่นฉันต้องการเพิ่มเส้นทางไปยังตัวแปร PATH อย่างมีเงื่อนไข หากเส้นทางยังไม่ได้มีเช่นใน: TEMP=/mnt/silo/bin if [[ ${PATH} =~ ${TEMP} ]] ; then PATH=$PATH; else PATH=$PATH:$TEMP; fi TEMP=/mnt/silo/Scripts: if [[ ${PATH} =~ ${TEMP} ]] ; then PATH=$PATH; else PATH=$PATH:$TEMP; fi TEMP=/mnt/silo/local/bin if [[ ${PATH} =~ ${TEMP} ]] ; then PATH=$PATH; else …

11
ใน bash ใครจะล้างอินพุตปัจจุบันได้อย่างไร
สมมติว่าใน bash คุณเริ่มเขียนคำสั่งเช่น: $ rm -rf /foo/bar/really/long/path/here และจากนั้นตระหนักว่าคุณไม่ต้องการดำเนินการนี้หลังจากทั้งหมด มีวิธีล้างอินพุตด้วยการกดปุ่มหนึ่งหรือสองครั้งหรือไม่? สิ่งที่ฉันทำเมื่อเร็ว ๆ นี้คือการเตรียมเสียงสะท้อนและใส่ข้อมูลในเครื่องหมายคำพูด (Ctrl + A echo ",, Ctrl + E, ") จากนั้นกด Enter มีวิธีที่เร็วกว่านี้ไหม
172 bash  input 

14
วิธีการตรวจสอบว่ากระบวนการทำงานภายใน lxc / Docker หรือไม่?
มีวิธีการตรวจสอบว่ากระบวนการ (สคริปต์) ทำงานในภาชนะ lxc (~ นักเทียบท่ารันไทม์)? ฉันรู้ว่าบางโปรแกรมสามารถตรวจพบว่าพวกเขาทำงานภายในเครื่องเสมือนจริงมีอะไรที่คล้ายกันสำหรับ lxc / docker หรือไม่?
172 linux  bash  docker 


2
ลบประวัติเทอร์มินัลใน Linux [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน9 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เมื่อคุณใช้คีย์ up ใน terminal Linux คุณสามารถใช้คำสั่งก่อนหน้าอีกครั้ง คุณสมบัติที่ยอดเยี่ยม อย่างไรก็ตามฉันเริ่มทำการบันทึก mysql ลงใน mysql พร้อมรายละเอียดที่ละเอียดอ่อนในคำสั่ง ฉันจะลบประวัตินั้นได้อย่างไร
170 linux  bash  terminal 

13
ฉันจะปิดใช้งาน Git Credential Manager สำหรับ Windows ได้อย่างไร
ฉันสังเกตเห็นว่าใน Git เวอร์ชันล่าสุดตอนนี้ค่าเริ่มต้นคือการเปิดกล่องโต้ตอบ "Git Credential Manager สำหรับ Windows" แทนการแจ้งรหัสผ่านให้ฉันที่ Bash prompt ทุกครั้ง ฉันเกลียดพฤติกรรมนี้มาก ฉันจะปิดการใช้งานและกลับไปที่การป้อนรหัสผ่านที่ Bash shell ทุกครั้งได้อย่างไร อย่างไรก็ตามฉันไม่ต้องการให้ Git ทำการแคชข้อมูลรับรองของฉันไม่ว่าด้วยวิธีใดก็ตามไม่ว่าจะผ่านข้อมูลประจำตัวของ Windows หรือภูตภายในบางตัว ฉันต้องการที่จะปิดการใช้งานการแคชข้อมูลประจำตัวทั้งหมด
170 git  bash 

9
จะตรวจสอบนามสกุลของชื่อไฟล์ในสคริปต์ทุบตีได้อย่างไร?
ฉันกำลังเขียนสคริปต์สร้างทุกคืนในทุบตี ทุกอย่างเรียบร้อยและสวยหรูยกเว้นอุปสรรค์ตัวน้อย: #!/bin/bash for file in "$PATH_TO_SOMEWHERE"; do if [ -d $file ] then # do something directory-ish else if [ "$file" == "*.txt" ] # this is the snag then # do something txt-ish fi fi done; ปัญหาของฉันคือการกำหนดนามสกุลไฟล์แล้วทำตาม ฉันรู้ว่าปัญหาอยู่ในคำสั่ง if ทดสอบไฟล์ txt ฉันจะทราบได้อย่างไรว่าไฟล์นั้นมี. txt ต่อท้ายหรือไม่
170 bash  scripting  file 

12
วิธีรับส่วนของไฟล์หลังจากบรรทัดแรกที่ตรงกับนิพจน์ทั่วไป
ฉันมีไฟล์ที่มีประมาณ 1,000 บรรทัด ฉันต้องการส่วนของไฟล์ของฉันหลังจากบรรทัดที่ตรงกับคำสั่ง grep ของฉัน นั่นคือ: $ cat file | grep 'TERMINATE' # It is found on line 534 ดังนั้นฉันต้องการไฟล์จากบรรทัด 535 ถึงบรรทัด 1000 สำหรับการประมวลผลเพิ่มเติม ฉันจะทำสิ่งนั้นได้อย่างไร
169 bash  shell  scripting  grep 

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