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

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



8
$ PATH ได้รับการตั้งค่าใน OS X 10.6 Snow Leopard ที่ไหน?
ฉันพิมพ์echo $PATHบนบรรทัดคำสั่งและรับ /opt/local/bin:/opt/local/sbin:/Users/andrew/bin:/usr/local/bin:/usr/local/mysql/bin:/usr/local/pear/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin ฉันสงสัยว่าไฟล์นี้จะถูกตั้งไว้ที่ใดเนื่องจาก.bash_loginไฟล์ของฉันว่างเปล่า ฉันกังวลเป็นพิเศษว่าหลังจากติดตั้ง MacPorts แล้วมันติดตั้งขยะจำนวน/optมาก ฉันไม่คิดว่าไดเรกทอรีนั้นจะมีอยู่ในการติดตั้ง Mac OS X ปกติ ปรับปรุง:ขอบคุณjtimbermanสำหรับการแก้ไขecho $PATHคำสั่งของฉัน

3
จะเพิกเฉยต่อชื่อไฟล์บางอย่างโดยใช้ "ค้นหา" ได้อย่างไร
หนึ่งในคำสั่ง BASH ที่ฉันโปรดปรานคือ: find . -name '*.*' -exec grep 'SearchString' {} /dev/null \; ซึ่งค้นหาเนื้อหาของไฟล์ทั้งหมดที่และด้านล่างของไดเรกทอรีปัจจุบันสำหรับ SearchString ที่ระบุ ในฐานะนักพัฒนาซอฟต์แวร์นี้มีประโยชน์หลายครั้ง เนื่องจากโครงการปัจจุบันของฉันและโครงสร้างของ codebase ของฉันอย่างไรก็ตามฉันต้องการทำให้คำสั่ง BASH นี้มีความก้าวหน้ายิ่งขึ้นโดยไม่ต้องค้นหาไฟล์ใด ๆ ที่อยู่ในหรือด้านล่างไดเรกทอรีที่มี ".svn" หรือไฟล์ใด ๆ ที่ ลงท้ายด้วย ".html" หน้า MAN สำหรับการค้นหาชนิดของฉันสับสนว่า ฉันลองใช้ -prune และมันทำให้ฉันมีพฤติกรรมแปลก ๆ ในความพยายามข้ามหน้า. html เท่านั้น (เพื่อเริ่มต้น) ฉันพยายาม: find . -wholename './*.html' -prune -exec grep 'SearchString' …
137 bash  find  regex 

12
เป็นไปได้ไหมที่จะส่งออก `dmesg 'ออกไป?
อยากทำอะไรซักอย่าง dmesg | tail -f แต่มันไม่ทำงาน: ฉันใช้ Mac OSX 10.6.7 โดยการทำเช่นนั้นหางจะออกจากแทนการตรวจสอบผลลัพธ์ ฉันสงสัยว่ามีวิธีใดที่จะทำหรือคำสั่งใดเทียบเท่า ป.ล. ฉันไม่คิดว่าการwhileวนซ้ำจะเป็นความคิดที่ดีพอ
137 bash  command-line  tail 


20
เพิ่มไดเรกทอรีไปยัง $ PATH หากยังไม่มี
มีใครเขียนฟังก์ชั่นทุบตีเพื่อเพิ่มไดเรกทอรีไปยัง $ PATH เท่านั้นหากยังไม่ได้มี? ฉันมักจะเพิ่มเส้นทางโดยใช้สิ่งที่ชอบ: export PATH=/usr/local/mysql/bin:$PATH หากฉันสร้าง PATH ของฉันใน. bash_profile แสดงว่าไม่ได้อ่านยกเว้นว่าเซสชันที่ฉันใช้อยู่นั้นเป็นเซสชันการเข้าสู่ระบบซึ่งไม่ได้เป็นจริงเสมอไป ถ้าฉันสร้าง PATH ของฉันใน. bashrc มันจะทำงานกับแต่ละ subshell ดังนั้นถ้าฉันเปิดหน้าต่างเทอร์มินัลแล้วเรียกใช้หน้าจอแล้วเรียกใช้สคริปต์เชลล์ฉันจะได้รับ: $ echo $PATH /usr/local/mysql/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:.... ฉันจะลองสร้างฟังก์ชั่นทุบตีที่เรียกว่าadd_to_path()เพิ่มเฉพาะไดเรกทอรีถ้ามันไม่ได้มี แต่ถ้าใครได้เขียน (หรือพบ) สิ่งนั้นฉันจะไม่ใช้เวลากับมัน
126 bash  script  path 

17
จะลบไฟล์ทั้งหมดในไดเรกทอรีได้อย่างไร?
ฉันต้องการลบไฟล์ทั้งหมดในไดเรกทอรี แต่ไม่รวมบางไฟล์ ยกตัวอย่างเช่นในไดเรกทอรีที่มีไฟล์ที่a b c ... zผมจำเป็นต้องลบทั้งหมดยกเว้นและu pมีวิธีง่าย ๆ ในการทำเช่นนี้?
123 linux  bash  rm 

7
วิธีกำหนดค่า PuTTY เพื่อให้ Home / End / PgUp / PgDn ทำงานอย่างถูกต้องในการทุบตี?
ปุ่ม Home, End, PageUp, PageDown ทั้งหมดพิมพ์ a ~ในเซสชัน bash ของฉันแทนการเลื่อนเคอร์เซอร์ / มุมมองไปรอบ ๆ ทำไมสิ่งนี้จึงเกิดขึ้นและฉันต้องเปลี่ยนการตั้งค่าแบบใด GNU bash, version 4.0.28(1)-release (x86_64--netbsd) PuTTY v0.60 คำถามอ่านเดิม: ใน PuTTY เหตุใดการกดปุ่ม "Home" บนเชลล์ (ทุบตี) ให้พิมพ์ "~" หรือฉันจะทำให้เคอร์เซอร์เลื่อนไปยังจุดเริ่มต้นของคำสั่งที่ฉันพิมพ์ได้อย่างไร (ฉันคิดว่าเหตุผลคือ ~ เป็นไดเรกทอรีบ้านแต่คำตอบบอกว่ามันไม่เป็นเช่นนั้น)
123 bash  putty 

6
Git Bash ที่นี่ใน ConEmu
ฉันจะสร้างรายการเมนูบริบทคลิกขวาเพื่อเปิด Git Bash ที่โฟลเดอร์ที่กำหนดภายในConEmu ได้อย่างไร ดูGit Bash Here ใน Console2สำหรับคำถามที่เทียบเท่าสำหรับ Console2
120 windows  bash  git  conemu 

8
ดำเนินการคำสั่งจากไดเรกทอรีอื่นในทุบตี
บอกว่าฉันทำสิ่งนี้: cd subdir git init cd ../ มีวิธีการทำเช่นนี้ด้วยคำสั่งเดียวหรืออาจจะสองคนแทนที่จะต้องย้ายเข้าและออกจากไดเรกทอรีเพื่อเรียกใช้คำสั่งที่นั่น? (ไม่มองหาวิธีแก้ปัญหาเฉพาะ git นั่นเป็นเพียงตัวอย่าง)
119 bash 

2
วิธีลบ / รีเซ็ตระบบย่อย Windows สำหรับ Linux บน Windows Insider Build 14316
ฉันติดตั้งWindows Subsystem for LinuxBuild 1014 บนหน้าตัวอย่างของ Windows 10 ตอนนี้ฉันต้องการลบออกหรือดีกว่ากลับไปเป็นค่าเริ่มต้นจากโรงงานเช่นเดิมเมื่อเพิ่งติดตั้ง ฉันพยายามจะลบออกจากหน้าต่าง "เปิดหรือปิดคุณสมบัติ Windows" โดยไม่มีโชค ฉันพยายามทำเครื่องหมายว่าเป็น "ปิด" ในหน้าต่างด้านบนและลบไฟล์ที่อยู่ด้วยตนเอง%USERPROFILE%/AppData/Local/lxssโดยไม่ต้องโชคดี มีใครประสบความสำเร็จในการลบ / รีเซ็ตสภาพแวดล้อมโหมดผู้ใช้ Ubuntu หรือไม่

4
Bash: ช่องว่างในชื่อนามแฝง
ฉันพยายามสร้างนามแฝงด้วยการทุบตี สิ่งที่ฉันต้องการจะทำคือทำแผนที่ls -laให้ls -la | more ในไฟล์. bashrc ของฉันนี่คือสิ่งที่ฉันพยายาม: alias 'ls -la'='ls -la | more' อย่างไรก็ตามมันไม่ทำงานเพราะ (ฉันถือว่า) มันมีช่องว่างในชื่อนามแฝง มีวิธีแก้ไขสำหรับสิ่งนี้หรือไม่?
116 unix  bash  alias 

6
ทุบตีมีตะขอที่ถูกเรียกใช้ก่อนดำเนินการคำสั่งหรือไม่?
ใน bash ฉันสามารถจัดเรียงฟังก์ชั่นที่จะดำเนินการก่อนเรียกใช้คำสั่งได้หรือไม่? มี$PROMPT_COMMANDซึ่งจะถูกดำเนินการก่อนที่จะแสดงพรอมต์คือหลังจากรันคำสั่ง Bash's $PROMPT_COMMANDนั้นคล้ายคลึงกับprecmdฟังก์ชั่นของ zsh ; ดังนั้นสิ่งที่ฉันกำลังมองหาเป็นเทียบเท่าทุบตีเพื่อ preexeczsh แอปพลิเคชันตัวอย่าง: ตั้งค่าชื่อเทอร์มินัลเป็นคำสั่งที่กำลังดำเนินการ เพิ่มโดยอัตโนมัติtimeก่อนทุกคำสั่ง
111 command-line  bash  hook 

7
ส่งต่อปริมาณข้อมูล SSH ผ่านเครื่องกลาง
การขุดอุโมงค์ SSH ทำให้ฉันสับสนมาก ฉันสงสัยว่าฉันสามารถทำได้ใน Linux ฉันมี 3 เครื่อง .. A. My local machine at home. B. Machine at work that I can SSH into (middle man). C. My desktop at work that I can only SSH into from machine B. ดังนั้นฉันสามารถ SSH จาก A -> B และจาก B -> C …
110 command-line  bash  ssh  git  tunnel 

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