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

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

1
ทำไม `echo -e“ \\\ SOME_TEXT”` แสดงเครื่องหมายแบ็กสแลชเพียงอันเดียว?
บางคนสามารถอธิบายสิ่งที่เกิดขึ้นเบื้องหลังในการหลบหนีของตัวละครในเปลือก Linux? ฉันลองทำสิ่งต่อไปนี้และใช้ Google เป็นจำนวนมากโดยไม่ประสบความสำเร็จในการทำความเข้าใจว่าเกิดอะไรขึ้น (และอย่างไร): root@sv01:~# echo -e "\ Hello!" \ Hello! root@sv01:~# echo -e "\\ Hello!" \ Hello! root@sv01:~# echo -e "\\\ Hello!" \ Hello! root@sv01:~# echo -e "\\\\ Hello!" \ Hello! root@sv01:~# echo -e "\\\\\ Hello!" \\ Hello! root@sv01:~# echo -e "\\\\\\ Hello!" \\ Hello! root@sv01:~# echo …

3
เทียบเท่ากับ Ctrl-r ของ bash ใน PowerShell
ไม่มีใครรู้วิธีที่จะมีคุณสมบัติการค้นหาคำสั่งย้อนหลังของ bash [Ctrl-r](และ[Ctrl-o]) ที่มีประโยชน์ดังนั้นใน windows powershell? C-rเป็นการarrow upจัดการประวัติที่มีประสิทธิภาพยิ่งขึ้นมันเหมือนกับ emacs C-rที่ค้นหาย้อนหลังภายในคำสั่งที่คุณป้อนก่อนหน้านี้ จากนั้นC-oดำเนินการคำสั่งนั้นและวางลงบนบรรทัดในคำสั่งถัดไปทันทีหลังจากนั้น เพื่อให้คุณสามารถทำซ้ำชุดคำสั่งได้อย่างมีประสิทธิภาพ นอกจากนี้ยังค้นหาประวัติที่บันทึกไว้ไม่ใช่ประวัติเซสชัน ( ~/.bash_historyไฟล์) ซึ่งมีประโยชน์อนันต์ ขอบคุณ ps: เป็นโบนัสความสมบูรณ์ของแท็บที่ไม่ทำงานตามรอบจะน่ากลัวเช่นกัน

3
ทำไมการเปลี่ยนเส้นทางเอาต์พุตของไฟล์ไปยังตัวมันเองสร้างไฟล์เปล่า?
ทำไมการเปลี่ยนเส้นทางเอาต์พุตของไฟล์ไปยังตัวมันเองสร้างไฟล์เปล่า? ระบุใน Bash แล้วทำไมต้องทำ less foo.txt > foo.txt และ fold foo.txt > foo.txt ผลิตที่ว่างเปล่าfoo.txt? เนื่องจากการผนวกเช่นless eggs.py >> eggs.pyสร้างข้อความสองฉบับeggs.pyหนึ่งอาจคาดว่าการเขียนทับจะสร้างสำเนาข้อความหนึ่งชุด หมายเหตุฉันไม่ได้บอกว่านี่เป็นข้อผิดพลาดมันมีแนวโน้มที่จะชี้ไปที่บางสิ่งบางอย่างเกี่ยวกับ Unix
19 bash  unix  unix-utils 

4
วิธีรับเฉพาะผู้ใช้ pid และคำสั่งรันสำหรับกระบวนการเฉพาะ (Ubuntu 11.10)
เมื่อฉันps -ef|grep pythonฉันได้รับต่อไปนี้: myusername 4492 2994 0 10:32 pts/0 00:00:01 /home/myusername/.virtualenvs/myproject/bin/ipython manage.py runserver root 6665 1 0 10:42 ? 00:00:00 /usr/bin/python /usr/lib/system-service/system-service-d myusername 14051 13497 0 11:28 pts/7 00:00:00 grep --color=auto python ฉันจะรับเฉพาะผู้ใช้ที่กำลังเรียกใช้โปรเซส, pidและคำสั่งรันสำหรับโปรเซสเหมือนกับในเอาต์พุตต่อไปนี้แทนได้อย่างไร? myusername 4492 /home/myusername/.virtualenvs/myproject/bin/ipython manage.py runserver root 6665 /usr/bin/python /usr/lib/system-service/system-service-d
19 linux  bash  ps 

7
คำสั่ง Linux เพื่อค้นหาไฟล์ที่เปลี่ยนแปลงในไม่กี่วินาทีที่ผ่านมา
ฉันต้องการคำสั่ง Linux เพื่อค้นหาไฟล์ที่เปลี่ยนแปลงในไม่nกี่วินาทีที่ผ่านมา มีเชลล์สคริปต์หรือเครื่องมืออื่น ๆ ที่ฉันสามารถเรียกใช้จากอินเตอร์เฟสบรรทัดคำสั่งหรือ GUI ได้หรือไม่?
19 linux  bash  shell  find 


3
แสดงทั้ง ctime และ atime ในเอาต์พุต ls
ฉันสามารถรับทั้ง ctime และ atime ในเอาต์พุต ls ได้หรือไม่ ดูเหมือนว่าฉันสามารถผ่านหนึ่ง--time=ctimeหรือ--time=atimeอาร์กิวเมนต์ (ที่สองจะถูกละเว้น) มีวิธีอื่น ๆ ?
19 bash  ls 

10
กดพรอมต์ PS1 ของฉันไปที่ ssh
ฉันใช้พรอมต์ "PS1" เฉพาะที่ฉันชอบ ฉันแบ่งปันการเข้าสู่ระบบสองสามครั้งกับผู้อื่นในเซิร์ฟเวอร์อื่น ๆ ฉันสงสัยว่ามีวิธีระบุในโพรไฟล์ bash ภายในเครื่องของฉันพร้อมท์รีโมตหรือวิธีอื่นแล้วคัดลอกและวางทุกครั้งที่รีโมต
19 linux  bash  ssh  prompt 

4
ฉันจะเปิดใช้งานการเน้นไวยากรณ์สำหรับ. bash_aliases เป็นกลุ่มได้อย่างไร
.bashrcผมทำงานในแผนกของฉัน ฉันย้ายนามแฝงของฉันไปที่.bash_aliases(ซึ่งมีที่มา.bashrcแต่ฉันไม่สามารถหาวิธีการเปิดใช้งานการเน้นไวยากรณ์สำหรับไฟล์นี้vimดูเหมือนว่าไม่สามารถคิดได้ว่าไฟล์ภาษานั้นทำงานได้ดีสำหรับ.bashrcแนวคิดใดบ้าง

6
เทอร์มินัล * เอาต์พุต * ประวัติ
ฉันใช้ฟังก์ชั่นอย่างละเอียดเพื่อสำรวจประวัติคำสั่งในเทอร์มินัลของฉัน ฉันสงสัยว่ามีวิธีนำทางประวัติเอาต์พุตคำสั่งด้วยหรือไม่? (นอกเหนือจากการรักษา histsize ขนาดใหญ่และพิงปุ่ม pgup) ฉันไม่สามารถ 'เรียกใช้คำสั่ง' ซ้ำอีกครั้งในสถานการณ์เฉพาะของฉันแหล่งที่มาของคำสั่งจะเปลี่ยนไป ฉันมักจะต้องมองย้อนกลับไปที่ผลลัพธ์ของการเปลี่ยนแปลงก่อนหน้านี้ ยินดีต้อนรับ Hacks ขอบคุณ! แก้ไข 2010: ฉันได้รับเครดิต 'tee' ในบรรดาวิธีการทั้งหมดในการบันทึกเซสชันของคุณที่อื่น ๆ มันเป็นวิธีการที่ใช้กันอย่างแพร่หลายมากที่สุด (เช่นเป็นส่วนหนึ่งของ gnu coreutils และไม่จำเป็นต้องใช้เชลล์หรือยูทิลิตี้เฉพาะเพื่อทำงาน) มันไม่ใช่สิ่งที่ฉันกำลังมองหา แต่ฉันรู้ว่าสิ่งนั้นไม่มีอยู่จริง การประมาณที่ใกล้เคียงที่สุดที่ฉันสามารถนึกได้คือการใช้บางอย่างเช่นscreen(byobu / tmux) ที่บันทึกไปยังไฟล์และเขียน (และ keybind) คำสั่งที่กำหนดเองไปยังหน้า / ค้นหาผ่าน logfile นั้น (คิดว่าlessเพจโดยพรอมต์มากกว่าหน้าจอ) ขอบคุณทุกคน แก้ไข 2012: @Dustin Kirkland คำตอบที่ชัดเจนที่สุดอย่างน้อยที่สุดโดยทั่วไป; บัฟเฟอร์ scrollback ของเทอร์มินัลเป็นวิธีที่ล่วงล้ำน้อยที่สุดในการสำรวจประวัติการส่งออกคำสั่ง ดูเหมือนว่า Byobu จะมีการบันทึกจำนวนบรรทัดเริ่มต้นเป็นจำนวนมาก …
19 bash  history  byobu 

8
มีคำสั่ง Bash เพื่อแปลง \ r \ n เป็น \ n หรือไม่
มีคำสั่ง Bash เพื่อแปลง \ r \ n เป็น \ n หรือไม่ เมื่อฉันอัพโหลดสคริปต์ของฉันจาก Windows ไปยัง Linux ฉันต้องใช้ยูทิลิตี้เช่นนี้เพื่อทำให้งานต่างๆ

3
วิธีหยุด cp: overwrite './xxx' รวดเร็ว
ฉันจะหยุดคำสั่ง cp จากการพร้อมต์เพื่อเขียนทับได้อย่างไร ฉันต้องการเขียนทับไฟล์ทั้งหมดโดยไม่ต้องกลับไปที่เทอร์มินัล เนื่องจากไฟล์เหล่านี้มีขนาดใหญ่และใช้เวลาพอสมควร ฉันพยายามใช้ตัวเลือก -f มันยังถามว่าฉันต้องการเขียนทับหรือไม่ -f, --force if an existing destination file cannot be opened, remove it and try again (redundant if the -n option is used) cp -f /media/somedir/somefiles* . cp: overwrite `./somefilesxxx'? y
19 linux  bash  centos  cp 

2
การส่งการกดแป้นพิมพ์แบบจำลองใน Bash
ฉันเพิ่งได้รับการพยายามที่จะเขียนสคริปต์ที่สามารถนำมาใช้ในการทำงานโดยอัตโนมัติฉัน C ++ โปรแกรมในทุบตี หากคุณรู้จัก AutoIt ฉันสามารถแสดงตัวอย่างของสิ่งที่ฉันพยายามทำ: send("1{enter}") หรือ send("!a") ตกลงสำหรับผู้ที่ไม่พูด AutoIt: ตัวอย่างแรกส่งการกดแป้น "1" จำลองแล้วตามด้วย enter (CR) ตัวอย่างที่สองส่ง alt-a ฉันโดยเฉพาะความพยายามที่จะทำเช่นนี้ในทุบตี ไม่มีภาษาสคริปต์อื่นที่จะทำ นอกจากนี้ฉันไม่ต้องการให้มีช้อน กรุณาระบุวิธีการที่จะเขียนมัน ไม่อนุญาตให้เขียนสคริปต์สำหรับฉัน
19 linux  bash  automation 

6
เหตุใดฉันจึงไม่สามารถเน้นข้อความในโปรแกรมจำลองเทอร์มินัล linux ด้วยปุ่ม shift + arrow
นี่คือแป้นพิมพ์ลัดแก้ไขข้อความมาตรฐานที่ฉันใช้อย่างต่อเนื่องทุกครั้งที่แก้ไขข้อความในแอปพลิเคชัน linux อื่น ๆ นอกเหนือจากเทอร์มินัลอีมูเลเตอร์: ลูกศรซ้าย + ขวาเพื่อเลื่อนไปทางซ้าย + ขวา ctrl + arrow เพื่อย้ายทั้งคำ home / end เพื่อย้ายไปที่ start / end of line ctrl + c / ctrl + v เพื่อคัดลอก / วาง [เทอร์มินัลบางตัวสามารถใช้ shift-ctrl-C / shift-ctrl-V; นี่เป็นตัวแทนที่ดี] Shift + arrow เพื่อเน้นข้อความ Shift + ctrl + arrow เพื่อไฮไลต์ทั้งคำ ฉันไม่เคยพบการรวมกันของ shell …

3
SHELL-FORMAT คืออะไรใน envsubst?
เมื่อฉันสะดุดenvsubstฉันต้องการใช้มันเพื่อแทนที่เฉพาะตัวแปรและสงสัยว่าพารามิเตอร์ SHELL-FORMAT อาจเป็นสิ่งที่ต้องการ แต่ฉันไม่สามารถใช้งานได้ น่าเสียดายที่หน้าmanและinfoไม่ให้ตัวอย่างการใช้งานใด ๆ และพูดเพียง หากกำหนด SHELL-FORMAT เฉพาะตัวแปรสภาพแวดล้อมที่อ้างอิงใน SHELL-FORMAT เท่านั้นที่จะถูกแทนที่ ซึ่งไม่ได้บอกวิธีการอ้างอิงพวกเขา

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