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

Bash (Bourne-Again SHell) เป็นเชลล์ที่ใช้ในอินเตอร์เฟสบรรทัดคำสั่งของ Ubuntu ตามค่าเริ่มต้น

7
วิธีการเข้าถึง bash โดยไม่มี terminal emulator?
บอกฉันได้ถอนการติดตั้งโดยไม่ได้ตั้งใจทุกจำลอง terminal ในระบบของฉัน: xterm, uxterm, gnome-terminal, guakeฯลฯ มีวิธีที่ฉันสามารถเข้าถึงbashได้โดยไม่ต้องจำลอง terminal? วิธีหนึ่งที่เป็นไปได้ที่ฉันจะนึกถึงคือการสร้างและเรียกใช้เชลล์สคริปต์ แต่นอกเหนือจากนั้นฉันจะได้รับเชลล์แบบโต้ตอบได้หรือไม่ นี่คือสมมุติฐานอย่างหมดจด แต่ขอบคุณสำหรับคำตอบทั้งหมด!

2
มีความแตกต่างระหว่าง“.” และ“ แหล่ง” ในการทุบตีหลังจากทั้งหมดหรือไม่
ฉันกำลังมองหาความแตกต่างระหว่าง "." และคำสั่ง builtin "source" และแหล่งข้อมูลบางแหล่ง (เช่นในการสนทนานี้และbash manpage) แนะนำว่าสิ่งเหล่านี้เหมือนกัน อย่างไรก็ตามหลังจากปัญหาเกี่ยวกับตัวแปรสภาพแวดล้อมฉันทำการทดสอบ ฉันสร้างไฟล์testenv.shที่มี: #!/bin/bash echo $MY_VAR ในคอมมานด์พรอมต์ฉันทำสิ่งต่อไปนี้: > chmod +x testenv.sh > MY_VAR=12345 > ./testenv.sh > source testenv.sh 12345 > MY_VAR=12345 ./testenv.sh 12345 [โปรดทราบว่าแบบฟอร์มที่ 1 ส่งคืนสตริงว่างเปล่า] ดังนั้นนี้ทดลองเล็ก ๆ น้อย ๆ แสดงให้เห็นว่ามีคือความแตกต่างหลังจากที่ทุกที่สำหรับคำสั่ง "ต้นฉบับ" เด็กสืบทอดตัวแปรสภาพแวดล้อมทั้งหมดจากผู้ปกครองคนหนึ่งที่สำหรับ "" มันไม่ใช่. ฉันไม่มีอะไรหรือนี้เป็นคุณลักษณะที่ไม่มีเอกสาร / เลิกการทุบตี ? [GNU bash, รุ่น …

3
ตัวแปร PATH แบบถาวร
ฉันจะทำให้/media/De Soft/mongodb/binตัวแปร PATH นี้เป็นแบบถาวรได้อย่างไร ทุกคนพูดว่า " export PATH=$PATH:media/De\ Soft/mongodb/binกับคุณ~/.profileหรือ.bashrcหรือ.zshenvขึ้นอยู่กับเปลือกของคุณ" ผมไม่ทราบว่าสิ่งที่เป็น~/.profileหรือหรือ.bashrc .zshenvพวกเขาทำอะไรจริง ฉันจะเพิ่มexport PATH=$PATH:my/pathไปยัง. profile / .bashrc / .zshenv ของฉันได้อย่างไร ฉันใช้ Ubuntu 14.04 LTS 64 บิตกับเทอร์มินัลเริ่มต้น

5
วิธีรันสคริปต์ sh จากทางลัดบนเดสก์ท็อป
ฉันกำลังพยายามสร้างทางลัดเพื่อเข้าสู่ระบบเซิร์ฟเวอร์ ssh ของฉัน: ssh x.x.x.x ฉันทำไฟล์ต่อไปนี้: ssh_home.sh ทำให้ปฏิบัติการได้: sudo chmod +x ./ssh_home ตรวจสอบโดยการคลิกขวาที่คุณสมบัติเพื่อตรวจสอบว่ามันทำงานได้หรือไม่และเป็น .. แต่สิ่งที่ฉันทำเมื่อคลิกสองครั้งมันจะเปิด gedit ฉันลอง "Open With" แต่ไม่มีแอปเทอร์มินัลปรากฏขึ้น ฉันค้นหาเน็ต แต่พบวิธีเชื่อมโยงไปยังไฟล์โดยไม่รวมไว้ใน "ทางลัดไฟล์"
37 bash  shortcuts 

4
การลบไฟล์ที่มีนามสกุลบางอย่างยกเว้นไฟล์เดียวจากเทอร์มินัล
ฉันต้องลบไฟล์ทั้งหมดที่มีนามสกุล. gif ยกเว้นไฟล์เดียวที่มีชื่อว่า "filename.gif" วิธีที่ดีที่สุดในการทำสิ่งนี้ใน terminal คืออะไร? RM คำสั่ง*.gifลบไฟล์ GIF filename.gifทั้งหมดรวมทั้งไฟล์

2
เหตุใดจึงไม่มี. profile เมื่อเปิดเทอร์มินัล
เพิ่งติดตั้ง Ubuntu 14.04.1 LTS ตาม. โปรไฟล์ # ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash, if ~/.bash_profile or ~/.bash_login exists. ไม่มี ~ / .bash_profile หรือ ~ / .bash_login ดูเหมือนว่าแหล่งที่มา. profile เมื่อเปิดเทอร์มินัล ทำไมมันถึงไม่เป็นแหล่งที่มาของโปรไฟล์เมื่อเปิดเทอร์มินัล เหตุใดจึงมีโปรไฟล์หากไม่มีที่มา ฉันจะรู้ / ควบคุมสิ่งที่ได้มาเมื่อเปิดเทอร์มินัลใหม่ได้อย่างไร เมื่อเปิดเทอร์มินัลใหม่มันจะทำการ "ล็อกอิน" หรือไม่? สถานที่ที่ดีในการเพิ่ม $ …

4
จะตั้งค่า proxy สำหรับเทอร์มินัลได้อย่างไร?
ฉันต้องการตั้งค่าพร็อกซีสำหรับเทอร์มินัล สิ่งที่ฉันต้องการคือฉันต้องการที่จะส่งการสื่อสาร terminal ทั้งหมดไปยังอินเทอร์เน็ตผ่านทางพร็อกซี่พูดว่า tor ฉันพยายามตั้งค่าพร็อกซีทั้งระบบ แต่เทอร์มินัลไม่เชื่อฟังการกำหนดค่าพร็อกซีทั้งระบบ มีวิธีอื่นที่จะทำเช่นนี้?
36 command-line  bash  proxy  tor 

4
การเชื่อมโยงไปยังจุดประคืออะไร?
ฉันสงสัยว่าสิ่งที่shเป็นสัญลักษณ์เชื่อมโยงdashคืออะไร? ผมเข้าใจว่าdashควรจะเร็วกว่าbashแต่ผมไม่แน่ใจว่าทำไมเดิมเปลือกไม่ได้อยู่ในปัจจุบันshsh หรือถ้ามีอะไรทำไมไม่ได้shเชื่อมโยงกับbash?
35 bash  dash-shell 

2
จะแสดงเวลาที่แก้ไขของไฟล์ได้อย่างไร?
ฉันต้องการวิธีค้นหาและพิมพ์เวลาที่แก้ไขของไฟล์เพื่อใช้ภายในสคริปต์ทุบตี ฉันมาด้วย: ls -l $filename | cut -d ' ' -f '6-8' ผลลัพธ์ใด: Jul 26 15:05 แม้ว่าฉันต้องการหลีกเลี่ยงการแยกวิเคราะห์lsแต่มันก็มีประโยชน์ที่จะมีปีอยู่ที่นั่น โดยหลักการแล้วฉันต้องการเห็นเอาต์พุตคล้ายกับเอาต์พุตดีฟอลต์ของdateคำสั่ง Tue Jul 26 15:20:59 BST 2016 มีวิธีการอื่นใดที่มีประโยชน์อีกบ้าง?

3
วิธีฆ่าสคริปต์ที่รันในเทอร์มินัลโดยไม่ปิดเทอร์มินัล (Ctrl + C ไม่ทำงาน)
ฉันได้เขียนสคริปต์ทุบตีที่เรียกโปรแกรมอื่น ๆ และดำเนินการคำสั่งมากมาย ฉันรันสคริปต์นี้จากเทอร์มินัล ตอนนี้ฉันต้องการฆ่าสคริปต์ การกดCtrl + Cบางครั้งก็ไม่ตัดฉันคิดว่าเพราะบางครั้งสคริปต์กำลังเรียกใช้งานโปรแกรมอื่นและด้วยเหตุผลบางอย่างที่สัญญาณการฆ่าไม่ทำงาน อย่างไรก็ตามถ้าฉันปิดหน้าต่างเทอร์มินัลมันจะฆ่าสคริปต์ มีบางอย่างที่ฉันสามารถทำได้ (การรวมกันของแป้นพิมพ์) ที่คล้ายกับการปิดหน้าต่างเทอร์มินัลโดยไม่ต้องปิดหน้าต่างเทอร์มินัลจริง ๆ (ฉันไม่ต้องการสูญเสียประวัติคำสั่งไดเรกทอรีปัจจุบันประวัติเอาท์พุท ฯลฯ )
35 bash  scripts 

3
วิธีรันคำสั่งทุก ๆ 10 วินาที (ไม่มี cron)
เมื่อฉันรันcronฉันได้รับข้อผิดพลาดนี้ cron: ไม่สามารถเปิดหรือสร้าง /var/run/crond.pid: การอนุญาตถูกปฏิเสธ ดังนั้นจะทำอย่างไรโดยไม่cron? PS ฉันต้องการตรวจสอบว่าไฟล์ใน svn มีการเปลี่ยนแปลงและฉันมีสคริปต์พิเศษสำหรับมัน
35 bash  cron 


2
ใช้“ ในขณะที่อ่าน…” ในสคริปต์ linux
ใครช่วยกรุณาอธิบายวิธีการทำงานของรหัสต่อไปนี้? echo '1 2 3 4 5 6' | while read a b c do echo $c $b $a done โดยเฉพาะฉันต้องการทราบว่าเหตุใดผลลัพธ์ของลูปนี้คือ3 4 5 6 2 1แทนที่จะเป็น3 2 1และ6 5 4แยกกันสองบรรทัด ฉันดูเหมือนจะห่อใจไม่ได้ ...
34 bash  scripts 

3
ข้อความแสดงข้อผิดพลาด 'แหล่งที่มา: ไม่พบ' เมื่อเรียกใช้สคริปต์
ฉันกำลังสร้างสคริปต์การตั้งค่าอัตโนมัติเล็กน้อยที่จะแก้ไข/etc/profileและ$HOME/.profileหากบางเส้นทางไม่ถูกส่งออก จากนั้นฉันต้องการโหลดซ้ำโดยอัตโนมัติ ฉันได้อ่านสิ่งsourceนี้แล้วฉันก็เลยเทอร์มินัลของฉันแล้วเข้า: source /etc/profile source ~/.profile จากเทอร์มินัลจะไม่แสดงข้อผิดพลาดใด ๆ source: not foundอย่างไรก็ตามการวางสองคำสั่งเหล่านี้ภายในผลสคริปต์ทุบตีใน ฉันจะแน่ใจได้อย่างไรว่าสคริปต์นั้นถูกใช้งานโดย Bash แม้ว่า#!/bin/shจะมีการระบุไว้ (เห็นได้ชัดว่ามันไม่ได้รับประกัน) ทำไมถึงบอกว่าไม่พบแหล่งที่มาทั้งสองนี้เมื่ออยู่ที่นั่นอย่างแน่แท้

4
เรียกใช้คำสั่งด้วยอาร์กิวเมนต์จากคำสั่งสุดท้าย
เมื่อเรียกใช้คำสั่งบางครั้งคุณอาจต้องเรียกใช้คำสั่งด้วยอาร์กิวเมนต์จากคำสั่งสุดท้าย คุณจะทำสิ่งนี้ได้อย่างไร แน่นอนยกเว้นการใช้ปุ่มลูกศรและDelปุ่ม: ↑←←←... ...←→→DelDelDelDel<new_command>

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