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

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

5
จะหาไฟล์. bashrc ได้ที่ไหนใน Mac OS X Snow Leopard และ Lion
ฉันต้องการติดตั้ง rvm บนเครื่อง Snow Leopard ของฉัน มันบอกว่าฉันต้องเพิ่มบรรทัดใน.bashrcไฟล์ของฉัน(ฉันใช้ทุบตี) แต่.bashrcไฟล์ของฉันอยู่ที่ไหน?

9
มีทางลัดในการ mkdir foo และใส่ cd ลงไปทันทีหรือไม่?
นี่คือสิ่งที่ฉันทำบ่อยๆ $ mkdir foo $ cd foo สิ่งนี้ทำงานเป็นคำสั่งเดียว แต่มีการกดแป้นมากกว่าและไม่ต้องเสียเวลา $ mkdir foo && cd foo มีทางลัดสำหรับสิ่งนี้หรือไม่? แก้ไข ด้วยการใช้ความช่วยเหลือด้านล่างนี้ดูเหมือนจะเป็นคำตอบที่หรูหราที่สุด # ~/.bashrc function mkcd { if [ ! -n "$1" ]; then echo "Enter a directory name" elif [ -d $1 ]; then echo "\`$1' already exists" else mkdir $1 && cd …

3
ฉันจะเปลี่ยนเชลล์ใน Ubuntu ได้อย่างไร [ซ้ำ]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว: ฉันจะทำให้ Bash เปลือกเริ่มต้นของฉันบน Ubuntu ได้อย่างไร 7 คำตอบ ฉันมี Ubuntu Server VPS และฉันต้องการใช้/bin/bash/เป็นเชลล์ ฉันจะเปลี่ยนเปลือกได้อย่างไร ฉันมีสิทธิ์เข้าถึงรูท แต่ไม่ทำงานเหมือนรูท ดังนั้นรีบเป็นเปลือกเริ่มต้นของฉันตอนนี้ ฉันได้อ่านฉันจะทำให้ Bash เชลล์เริ่มต้นของฉันบน Ubuntu ได้อย่างไร และchshตะเข็บเป็นวิธีที่ต้องการไป แต่เมื่อฉันพิมพ์chsh /bin/bashฉันได้รับข้อความนี้: chsh: unknown user /bin/bash และถ้าฉันพิมพ์/bin/bashBash shell seams ก็จะทำงานได้ดี วิธีการเปลี่ยน

9
โฮมไดเรกทอรีใน Windows Subsystem สำหรับ Linux คืออะไร
เมื่อฉันเริ่มbashระบบย่อย Windows สำหรับ Linux มันจะวางฉันลงในไดเรกทอรี /mnt/c/Users/<username> เมื่อฉันlsไดเรกทอรีนี้ผมเห็นไดเรกทอรีDesktop, Documentsฯลฯ ที่ฉันสามารถมองเห็นอยู่ในC:\Users\<username>การใช้ไฟล์ Windows Explorer ตั้งแต่นี้เป็นที่bashโปรแกรมเริ่มต้นที่ผมคาดไว้นี้เป็นไดเรกทอรีบ้านของฉัน แต่เมื่อฉันพิมพ์อย่างใดอย่างหนึ่งcdหรือcd ~ฉันกำลังนำไป /home/<username> ซึ่งมีฉัน.bashrc, .profileไฟล์อื่น ๆ ซึ่งผมคาดว่าจะพบในไดเรกทอรีบ้านของฉันในกล่อง Linux นอกจากนี้การป้อนcd ../..จากที่นี่ฉันสามารถดูไดเรกทอรีbin, etcและอื่น ๆ อีกตามที่คาดไว้ในกล่อง Linux ฉันมีคำถามสองข้อเกี่ยวกับสิ่งนี้ทั้งหมด: /mnt/c/Users/<username>เปรียบเทียบอะไรกันแน่C:\Users\<username>? ดูเหมือนว่าพวกเขาจะเป็นหนึ่งเดียวกัน --- ดังนั้นคือ/mnt/c/อะไร ฉันจะดูไฟล์/home/<username>โดยใช้ Windows File Explorer ได้อย่างไร ไม่ใช่ว่าฉันอยากจะ --- จริงๆฉันแค่พยายามทำความเข้าใจว่า Windows จัดการกับระบบย่อยนี้สำหรับลีนุกซ์อย่างไร

5
ระบบย่อย Windows Linux - การเข้าถึงไฟล์นอก Ubuntu
ทำไมเมื่อฉันสร้างไฟล์จากใน Windows ฉันจะไม่เห็นมันภายใต้ระบบย่อย Linux ใน Windows 10 (bash.exe) ภาพหน้าจอควรอธิบาย โฟลเดอร์: OMG ถูกสร้างขึ้นจากภายใน Windows Explorer Folder OMGBash ถูกสร้างจากระบบย่อยของ Linux bash.exe เมื่อสร้างโฟลเดอร์หรือไฟล์นอก bash.exe ฉันไม่สามารถมองเห็นได้ไม่ว่าจะมีการอนุญาตหรือการเป็นเจ้าของ เพื่อแสดงข้อมูลที่ฉันต้องใช้ Cygwin เพื่อแสดงการอนุญาตของไฟล์ฉันได้เปลี่ยนสิทธิ์เพื่อดูว่าโฟลเดอร์จะปรากฏขึ้นหรือไม่ (หน้าต่างคำสั่งสองหน้าต่างที่ด้านล่าง) ภาพหน้าจอแสดงสิทธิ์ของโฟลเดอร์ bash.exe และ Cygwin: ฉันกำลังพยายามย้ายสคริปต์ Cygwin ทั้งหมดไปยังระบบย่อย Linux แต่ฉันไม่อยากสร้างไฟล์ใหม่ซ้ำอีกทั้งต้องคัดลอกแล้วใช้ bash ก่อนแล้วจึงทำการฟอร์แมตใหม่อีกครั้งโดยใช้ Dos2unix พบสิ่งนี้ใน GitHub สำหรับระบบย่อย Linux: การคัดลอกโดยตรงไปยังระบบย่อย Linux จาก Windows ไม่ได้รับการสนับสนุน มีไดเรกทอรีภายใต้ AppData อยู่ที่ไหนสักแห่ง …



9
ฉันจะค้นหาและแทนที่แบบเรียกซ้ำจากบรรทัดคำสั่งได้อย่างไร
การใช้เชลล์เช่น bash หรือ zshell ฉันจะทำ 'ค้นหาและแทนที่' แบบเรียกซ้ำได้อย่างไร? กล่าวอีกนัยหนึ่งฉันต้องการแทนที่ 'foo' ด้วย 'bar' ทุกครั้งในไฟล์ทั้งหมดในไดเรกทอรีนี้และไดเรกทอรีย่อย

3
วิธีการลบ unalias?
กาแฟยามเช้าของฉันยังไม่ถึงสมอง แต่เมื่อฉันลืมคำพูดใน: alias grep="grep --color=always" ดังนั้นฉันพิมพ์แทน: alias grep=grep --color=always ทิ้งฉันไว้กับ: --color=always grep=grep ในนามแฝงของฉัน เมื่อฉันพยายามล้าง --color = ใช้unalias --colorฉันเสมอ: bash: unalias: --: invalid option unalias: usage: unalias [-a] name [name ...] ฉันพยายามหลบหนีอ้างและขอทาน แต่ฉันไม่สามารถหาวิธีที่จะทำให้คอมมานโด unalias ล้างระเบียบ (ฉันรู้ว่าการรีสตาร์ทจะทำเคล็ดลับ แต่แน่นอนต้องมีวิธีอื่น)
83 bash  bash-alias 

4
วิธีไพพ์เอาต์พุตคำสั่งไปยังคำสั่งอื่น ๆ ?
ตัวอย่าง: ls | echoไม่พิมพ์อะไรเลย (บรรทัดว่างเปล่า) ฉันคาดหวังให้พิมพ์รายการไฟล์ ls | grep 'foo'ในทางกลับกันทำงานตามที่คาดไว้ (พิมพ์ไฟล์ด้วย 'foo' ในชื่อของพวกเขา) สิ่งที่ฉันทำในสถานการณ์เหล่านี้เป็นสิ่งที่ชอบ: ls | while read OUT; do echo $OUT; doneแต่มันค่อนข้างยุ่งยาก เหตุใดการไพพ์จึงทำงานกับคำสั่งบางอย่าง แต่ไม่ใช่กับคำสั่งอื่น? ฉันจะหลีกเลี่ยงปัญหานี้ได้อย่างไร
83 bash  pipe 



1
การเปลี่ยนเส้นทางกับ `>>` เทียบเท่ากับ `>` หรือไม่เมื่อไฟล์เป้าหมายยังไม่มีอยู่?
พิจารณาเปลือกอย่าง Bash หรือ sh ความแตกต่างพื้นฐานระหว่าง>และ>>แสดงในกรณีเมื่อไฟล์เป้าหมายมีอยู่: > ตัดไฟล์ให้มีขนาดเป็นศูนย์จากนั้นจึงเขียน; >> ไม่ตัดทอนมันเขียน (ต่อท้าย) ที่ส่วนท้ายของไฟล์ หากไฟล์ไม่มีอยู่ไฟล์จะถูกสร้างด้วยขนาดศูนย์ แล้วเขียนถึง นี่เป็นเรื่องจริงสำหรับผู้ประกอบการทั้งสอง ดูเหมือนว่าโอเปอเรเตอร์จะเท่ากันเมื่อไฟล์เป้าหมายยังไม่มีอยู่ พวกเขาจริงเหรอ?
80 bash  redirection  sh 

7
ฉันจะแก้ไขข้อผิดพลาด“ ไม่สามารถเรียกใช้ไฟล์ไบนารี่” ได้อย่างไร?
เมื่อฉันเข้าสู่ระบบโดยใช้ SSH สิ่งที่ฉันเห็นคือ ... -bash: /usr/bin/id: cannot execute binary file -bash: [: : integer expression expected ฉันทำอะไรที่นี่ไม่ได้ คำสั่งเช่นhalt, poweroff, จะกลับมาrebootcommand not found ฉันจะแก้ไขสิ่งนี้ได้อย่างไร ฉันใช้ Debian Squeeze Linux
80 linux  bash  ssh  debian 

5
ฉันจะเปลี่ยนภาษาของระบบย่อย Linux ใน Windows 10 (WSL) ได้อย่างไร
หลังจากติดตั้ง Bash ใน Windows 10 ฉันสังเกตว่ามันใช้ภาษาสวีเดนในแอพพลิเคชั่น linux การติดตั้ง Windows 10 ของฉันเป็นภาษาอังกฤษ ฉันได้ลองติดตั้ง bash ใหม่หลังจากเปลี่ยนภาษาป้อนเริ่มต้นเป็นภาษาอังกฤษโดยใช้ lxrun /uninstall /full lxrun /install แต่มันยังคงใช้ตำราภาษาสวีเดนในแอพ linux เช่นใน nano ดังนั้นฉันจะบังคับให้ระบบย่อย Linux ติดตั้งด้วยภาษาอังกฤษได้อย่างไร

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