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

Bash เป็นเชลล์ฟรีสำหรับระบบปฏิบัติการยูนิกซ์จากโครงการ GNU

5
สามารถ ',,' สามารถใช้นามแฝงเป็น '.. ' ได้หรือไม่
บางครั้งเมื่อฉันต้องการที่จะเปลี่ยนแปลงไปยังไดเรกทอรีแม่ผมเข้าใจผิดพิมพ์แทนcd ,, cd ..มีวิธีที่ฉันสามารถทุบตีพิจารณางบเหล่านี้จะเหมือนกันหรือไม่ ฉันไม่เคยใช้เครื่องหมายจุลภาคในคำสั่งของฉัน จะเป็นการดีที่ผมอยากจะนามแฝงไป,, ..เมื่อฉันลองสิ่งนี้มันไม่ทำงาน ทำไมมันไม่ทำงาน ฉันจะแก้ไขปัญหานี้ได้อย่างไร $ alias ,,=.. $ cd ,, -bash: cd: ,,: No such file or directory
41 linux  bash  shell 

5
ฉันจะสร้าง "คำสั่งเชลล์" ของตัวเองได้อย่างไร (เช่นคำสั่ง mkdir / cd)
ฉันไม่สามารถบอกได้ว่ากี่ครั้งที่ฉันปรารถนาคำสั่งที่จะสร้างไดเรกทอรีและย้ายไปยังไดเรกทอรีนั้น โดยทั่วไปฉันต้องการเทียบเท่าต่อไปนี้: mkdir -p /arbitrarily/long/path; cd /arbitrarily/long/path แต่ต้องพิมพ์/arbitrarily/long/pathครั้งเดียวเท่านั้น: mk-cd /arbitrarily/long/path ฉันพยายามสร้างสคริปต์เพื่อทำสิ่งนี้ แต่เปลี่ยนเฉพาะไดเรกทอรีภายในสคริปต์ ฉันต้องการไดเรกทอรีในเปลือกที่มีการเปลี่ยนแปลงเช่นกัน #!/bin/bash mkdir $1 cd $1 export PWD=$PWD ฉันจะทำงานนี้ได้อย่างไร
41 bash 

5
การค้นหาคำจำกัดความของฟังก์ชันทุบตี
ฉันทำงานในสภาพแวดล้อมที่มีเวทย์มนตร์เชลล์สคริปต์ดั้งเดิมอยู่มากมาย สิ่งหนึ่งที่ใช้งานหนักจากบรรทัดคำสั่งคือฟังก์ชั่นทุบตีที่ได้รับมาจากไฟล์บางไฟล์ที่รวมจากไฟล์บางไฟล์ที่รวมอยู่ในไฟล์บางไฟล์ ... รวมอยู่ใน. bash_profile ของฉัน มีวิธีรับความหมายหรือตำแหน่งของความหมายของฟังก์ชั่นเหล่านี้ที่ดียิ่งขึ้นโดยไม่ต้องติดตามพวกเขาลงถึง 5 ระดับรวมถึง?
41 bash  shell 

7
วิธีการเขียนไฟล์จากระยะไกลโดยใช้ SSH
ฉันสามารถคัดลอกไฟล์ไปยังเครื่อง Linux ระยะไกลได้โดยไม่มีปัญหา scp file user@host: /pathtowrite_file อย่างไรก็ตามฉันมีปัญหาในการเขียนไฟล์จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง นี่คือสิ่งที่ฉันพยายาม: echo 'Some Text' > /remotefile.txt | ssh user@remotehost สิ่งที่ฉันได้รับคือ stdin: ไม่ใช่ tty ไฟล์ในเครื่องระยะไกลไม่ได้สะท้อนถึงข้อความที่ส่งว่า 'ข้อความบางข้อความ'
41 bash  ssh 

3
ฉันจะรับคำสั่ง scp เพื่อเขียนทับโฟลเดอร์ปลายทางได้อย่างไร
ฉันใช้คำสั่ง scp เพื่อคัดลอกไฟล์บางไฟล์ไปยังเครื่องคอมพิวเตอร์ระยะไกลเช่นเดียวกับ scp :) ฉันทราบว่าพฤติกรรมเริ่มต้นของสำเนา scp สำหรับไฟล์คือการเขียนทับไฟล์ที่มีอยู่ ตอนนี้ฉันต้องการคัดลอกโฟลเดอร์เพื่อให้ฉันทำสิ่งเดียวกันโดยพื้นฐาน: scp -r <source_path> user@myOtherPc:<dest_path> ที่ส่วนต่างๆใน <> เป็นเส้นทางโฟลเดอร์ของฉัน อย่างไรก็ตามเมื่อฉันเรียกใช้ฉันได้รับข้อความ "ไฟล์" มีวิธีแก้ไขไหม? การเรียงลำดับของแรงเกินเขียน? ขอบคุณอาหารสัตว์
41 bash  ssh  scp 

1
ทำให้แท็บเป็นตัวพิมพ์ใหญ่ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ [ซ้ำกัน]
ซ้ำเป็นไปได้: การ เติมแท็บที่ไม่คำนึงถึงตัวพิมพ์ใหญ่และเล็กใน Bash มีวิธีใดบ้างที่จะทำให้แท็บเสร็จใน bash case-insensitive? ตัวอย่างเช่นหากฉันมีไฟล์ชื่อHello.txtและพยายามแท็บให้กรอกโดยพิมพ์heตามด้วยTabจะไม่ทำงาน ฉันจะต้องแท็บดำเนินการได้โดยการพิมพ์He(หมายเหตุ H ทุน) Tabและ มีวิธีใดบ้างในการตั้งค่า bash ดังนั้นฉันจึงไม่จำเป็นต้องเก็บเคสไว้เมื่อฉันพิมพ์และลองแท็บเติมให้เต็ม?

3
ฉันจะ "grep" กรองชื่อซ้ำของไฟล์ที่ต้องการด้วย wildcard ได้อย่างไร
เมื่อฉันต้องการทำการค้นหา grep ซ้ำในไดเรกทอรีปัจจุบันฉันมักจะทำ: grep -ir "string" . แต่คำสั่งนั้นจะค้นหาไฟล์ทุกชนิดรวมถึงไฟล์ไบนารี่ (รูปภาพ, เสียง, วิดีโอ, ฯลฯ ... ) ซึ่งส่งผลให้กระบวนการค้นหาช้ามาก ถ้าฉันทำสิ่งนี้มันจะไม่ทำงาน: grep -ir "string" *.php ใช้งานไม่ได้เนื่องจากไม่มีไฟล์ PHP อยู่ในไดเรกทอรีปัจจุบัน แต่ภายในไดเรกทอรีย่อยบางส่วนในไดเรกทอรีปัจจุบันและชื่อของไดเรกทอรีย่อยไม่ได้ลงท้ายด้วย ".php" ดังนั้น grep จึงไม่ดูข้างใน ดังนั้นฉันจะค้นหาแบบเรียกซ้ำจากไดเรกทอรีปัจจุบัน แต่ยังระบุสัญลักษณ์แทนชื่อไฟล์ได้อย่างไร (เช่น: ค้นหาเฉพาะไฟล์ที่ลงท้ายด้วยนามสกุลเฉพาะ)

4
วิธีปิดการใช้งาน Bash ในเอฟเฟกต์เสียงแจ้งเตือนของ Windows
เมื่อเรียกใช้ 'Bash บน Ubuntu บน Windows' มักจะสร้างเสียงแจ้งเตือนของ Windows ในขณะที่พิมพ์ สาเหตุที่พบบ่อยคือเมื่อ: ฉันใช้การเติมคำสั่งอัตโนมัติ (แท็บ) และมีหลายตัวเลือกคำสั่ง หรือเมื่อฉันถอยกลับบรรทัดคำสั่งที่ว่างอยู่แล้ว ฉันจะปิดการใช้งานเอฟเฟกต์เสียงเหล่านี้ได้อย่างไร


7
เปลี่ยนชื่อ Terminal ใน Mac OS X
ฉันจะเปลี่ยนชื่อหน้าต่างเทอร์มินัลใน Mac OS X ได้อย่างไร? ฉันได้เห็นคำถามนี้และสิ่งมหัศจรรย์นี้แต่คิดว่ามันเป็นเพียงคำสั่ง Mac OS X ที่เรียบง่าย
39 macos  bash 

5
ในทุบตีฉันจะเปลี่ยนชื่อไฟล์โดยไม่ทำซ้ำเส้นทางได้อย่างไร [ซ้ำ]
ซ้ำได้: ใช้ข้อความซ้ำในคำสั่ง bash หากฉันต้องการเปลี่ยนชื่อไฟล์ให้ลึกลงไปสองสามไดเรกทอรีฉันจะหลีกเลี่ยงการทำซ้ำเส้นทางได้อย่างไร ตัวอย่างเช่น: mv path/to/old_filename.txt path/to/new_filename.txt ฉันสงสัยว่ามีวิธีที่จะทำให้: mv path/to/old_filename.txt (?)new_filename.txt ไหน(?)จะเป็นวิธีที่บอกบางคน "ในไดเรกทอรีเดียวกัน."
39 bash  rename  mv 


2
วิธีรวมตัวแปรสภาพแวดล้อมใน Bash line CURL
พยายามรับส่งข้อมูลเพื่อแจ้งเตือนเมื่อการดาวน์โหลดเสร็จสิ้น งานนี้: curl -u <my-api-token>: \ -X POST https://api.pushbullet.com/v2/pushes \ --header 'Content-Type: application/json' \ --data-binary '{"type": "note", "title": "$TR_TORRENT_NAME", \ "body": "$TR_TORRENT_NAME completed."}' ... ยกเว้นว่าจะมีการพุช$TR_TORRENT_NAMEและไม่ใช่เนื้อหาจริงของตัวแปรนั้น ฉันจำเป็นต้องหลบหนีบางคำพูดหรืออะไร?

3
iTerm / zsh ไม่อ่าน. bashrc หรือ. bash_profile
ใน~/.bash_profile ฉันมี: if [ -f ~/.bashrc ]; then source ~/.bashrc fi ใน~/.bashrcฉันมีนามแฝงบาง เมื่อฉันโหลดหน้าต่าง iTerm ใหม่ชื่อแทนของฉันไม่ทำงาน ถ้าฉันมา~/.bashrcพวกเขาทำงาน ถ้าฉันมา~.bash_profileพวกเขาทำงาน อย่างน้อยหนึ่งในนั้นควรจะมีแหล่งที่มาโดยอัตโนมัติ? สิ่งที่อาจทำให้ไม่ทำงานอย่างถูกต้อง?
39 macos  bash  terminal  zsh  bashrc 


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