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

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

5
มีคำสั่งอื่น ๆ เช่น scp แต่สำหรับการลบไฟล์และโฟลเดอร์?
ฉันกำลังใช้ scp เพื่อคัดลอกข้อมูลไปยังสถานที่ห่างไกล แต่บางครั้ง scp ใช้งานไม่ได้ตามที่คาดไว้ฉันพบว่าบางครั้งสำเนาไม่สมบูรณ์อย่างสมบูรณ์ (อาจเป็นเมื่อฉันเพิ่มไฟล์ใหม่ไปยังโฟลเดอร์ที่ฉันกำลังคัดลอก) ดังนั้นฉันต้องการลบโฟลเดอร์ระยะไกลก่อนแล้วจึงทำสำเนาเพื่อให้แน่ใจว่าฉันมีสิ่งที่ฉันต้องการ มีคำสั่งอื่น ๆ เช่น scp (เช่น srm หรือ smv) หรือไม่? หรือมีวิธีลบโฟลเดอร์และไฟล์ระยะไกลหรือไม่?
14 bash  ssh  scp 

7
การตั้งค่าแท็กชื่อ ID3 ให้เท่ากับชื่อไฟล์ MP3
มีใครมีสคริปต์ทุบตีที่จะผ่านไลบรารีสื่อและตั้งค่าแท็กชื่อ id3 ของไฟล์ MP3 แต่ละไฟล์ให้เท่ากับชื่อไฟล์หรือไม่ ฉันเปิดให้วิธีการอัตโนมัติอื่น ๆ ด้วย อาจเป็นแอปพลิเคชัน GUI หรือสิ่งใดก็ตามที่จะทำงานโดยอัตโนมัติ มีการบันทึกเมธอด EasyTag ไว้ที่นี่: วิธีเปลี่ยนชื่อแท็กชื่อจำนวนมากในไฟล์ mp3 ID3 - แต่น่าเสียดายที่ฉันไม่เข้าใจขั้นตอน
14 linux  bash  script  id3 

14
การสคริปต์: วิธีที่ง่ายที่สุดในการแยกค่าในแท็กของไฟล์ XML คืออะไร
ฉันต้องการอ่าน pom.xml ('Project Object Model' ของ Maven) และแยกข้อมูลรุ่น นี่คือตัวอย่าง: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany</groupId> <artifactId>project-parent</artifactId> <name>project-parent</name> <version>1.0.74-SNAPSHOT</version> <dependencies> <dependency> <groupId>com.sybase.jconnect</groupId> <artifactId>jconnect</artifactId> <version>6.05-26023</version> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>1.5.2</version> </dependency> <dependency> <groupId>com.sun.jdmk</groupId> <artifactId>jmxtools</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>2.4</version> </dependency> </dependencies> </project> ฉันจะแยกเวอร์ชัน '1.0.74-SNAPSHOT' จากด้านบนได้อย่างไร ชอบที่จะสามารถทำได้โดยใช้สคริปต์ทุบตีเรียบง่ายหรือ awk มิฉะนั้นจะแนะนำให้ใช้ไพ …
14 linux  bash  unix  python  xml 

5
วิธีการแทนที่บัฟเฟอร์หน้าจอเป็นกลุ่มด้วยกิจกรรมทุบตีก่อนหน้าหลังจากออกจาก?
ฉันพยายามค้นหาว่าคุณสมบัติทุบตี (หรือเป็นกลุ่ม) คืออะไร นี่คือสถานการณ์ ฉันอยู่ใน bash terminal จากนั้นแก้ไขบางสิ่งด้วย vim จากนั้นกลับสู่ bash ในบางเทอร์มินัลหน้าจอเซสชัน vim จะหายไปเพื่อแสดงกิจกรรม bash shell ก่อนหน้า (นี่คือสิ่งที่ฉันต้องการ?) ในอื่น ๆ บัฟเฟอร์หน้าจอเซสชัน vim ยังคงอยู่ (ซ่อนกิจกรรมเชลล์ bash เก่า) ฉันจะต้องล้างหน้าจอหรือรอจนกว่ากิจกรรมทุบตีของฉันจะผลักบัฟเฟอร์เซสชันที่เป็นกลุ่มออกจากหน้าจอ ฉันจะควบคุมพฤติกรรมนี้เพื่อแทนที่ vim session buffer ด้วยกิจกรรม bash ก่อนหน้าได้อย่างไร ขอบคุณทิม
14 bash  vim 

2
วิธีการทำให้ vim สมบูรณ์อัตโนมัติทำตัวเหมือนการเติมอัตโนมัติอัตโนมัติของ bash?
เมื่อคุณพิมพ์: e some/path/file<Tab>หากมีการแข่งขันหลายรายการกลุ่มจะเลือกรายการแรกและคุณต้องวนรอบรายการที่เหลือด้วยปุ่ม Tab (ค่อนข้างชอบพฤติกรรมของ Windows CLI) ฉันจะทำให้มันทำงานเหมือนทุบตีที่มันเสร็จสมบูรณ์เท่านั้นจนกว่าจะมีความกำกวม? แก้ไข : คำถามที่อัปเดตเพื่อความชัดเจนเพิ่มขึ้นอีกเล็กน้อย
14 bash  vim  autocomplete 

4
`>> 'หมายถึงอะไรในคำสั่งเทอร์มินัล
ฉันเจอคำสั่งที่ได้รับด้านล่าง - $ echo 'eval "$(jenv init -)"' >> ~/.bash_profile จากสิ่งที่ฉันเดาได้มันอาจจะใช้สำหรับการยอมรับการเปลี่ยนแปลงใน. bash_profile แต่มันจะใช้อะไรกันแน่

1
วิธีหลบหนี“ -” ใน bash [ซ้ำกัน]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว : ปิดให้บริการใน7 ปีที่ผ่านมา ซ้ำเป็นไปได้: เครื่องมือ Unix: จะเกิดอะไรขึ้นถ้าไฟล์ชื่อลบบางอย่าง? โปรดบอกฉันเกี่ยวกับวิธีหลบหนี: [root @ unix ~] # ./-sh -bash: ./-sh: การอนุญาตถูกปฏิเสธ [root @ unix ~] # chmod + x -sh chmod: โหมดที่ไม่ถูกต้อง: `-sh ' ลองใช้ `chmod --help 'สำหรับข้อมูลเพิ่มเติม [root @ unix ~] #

11
ไฟล์บันทึกประวัติ bash / zsh ต่อไดเรกทอรี
ฉันพบว่าฉันทำงานหลายอย่างในโครงการในไดเรกทอรีชุด บางครั้งฉันก็ต้องทำซ้ำบางอย่างในโครงการนั้น แต่ฉันจำไม่ได้ว่าทำอะไร ฉันใช้ Mercurial หรือ Git เพื่อติดตามการเปลี่ยนแปลงของไฟล์แต่ฉันต้องการที่จะจำคำสั่งที่ฉันใช้ในไดเรกทอรีนั้น การค้นหาประวัติเชลล์ของฉันไม่ค่อยมีประโยชน์ ฉันบันทึกทุกอย่างไว้ในไฟล์ประวัติ * _ แล้ว แต่ฉันต้องการรายการสิ่งที่ฉันทำใน ~ / foo / bar และไม่ใช่สิ่งอื่น ๆ (ล้าน) ที่ฉันทำในสัปดาห์นั้น ฉันอาจจำไม่ได้ว่าเดือนใดที่ฉันทำงานในโปรเจ็กต์นั้น ใครบ้างมีความคิดใด ๆ วิธีล็อกไฟล์ไดเรกทอรีโครงการของคำสั่งเชลล์ทั้งหมดที่ฉันใช้? ฉันนึกภาพออกคำสั่งเช่น: ทำงานโครงการของฉัน ... ซึ่งจะตั้งค่าล็อกไฟล์เชลล์เป็น ~ / myproject / .history.log โหลดประวัติก่อนหน้าจากล็อกไฟล์นั้นและอาจอัปเดตพรอมต์ของฉันเพื่อบอกฉันว่าไดเรกทอรีใดที่ฉันใช้งานอยู่ (เช่น vcprompt เพื่อให้รุ่น ข้อมูลการควบคุม) มีอะไรแบบนี้มั้ย
14 linux  bash  shell  history  zsh 

2
ฉันจะดีบัก bash ที่สำเร็จได้อย่างไร
ฉันได้สร้างฟังก์ชั่นเติมเต็มของ bash ที่ดูเหมือนว่าทำงานได้อย่างอิสระ แต่ให้ผลลัพธ์ที่ไม่คาดคิดเมื่อฉันพยายามที่จะทำแท็บให้เสร็จ เป็นไปได้หรือไม่ที่จะเชื่อมต่อ bashdb จากนั้นลองแท็บทำสิ่งใดสิ่งหนึ่งและผ่านขั้นตอนการตรวจแก้จุดบกพร่องและตรวจสอบว่ามีอะไรผิดปกติหรือไม่

2
การรันคำสั่งโดยไม่มีการสืบทอดสภาวะแวดล้อมของพาเรนต์
มีวิธีเรียกใช้คำสั่ง "ราวกับว่า" มันอยู่ในเซสชั่นการเข้าสู่ระบบใหม่หรือไม่? env -iผมได้พยายามแล้ว อย่างไรก็ตามฉันไม่ต้องการจัดการกับตัวแปร ENV ต่างๆที่ฉันต้องตั้งค่าหรือยกเลิกการตั้งค่า ฉันได้ลองbash -c "some command"แล้วbash -l -c "some commmand"เช่นกัน แต่พวกเขาทั้งหมดคัดลอกสภาพแวดล้อมปัจจุบัน สิ่งที่ฉันได้มาใกล้ที่สุดคือทางออกสลัม: ssh me@localhost "some command"
14 bash  shell  session 


5
ทำไม 'whereis' และ 'ซึ่ง' ไม่แสดงตำแหน่งของคำสั่งให้ฉันดู?
อะไรคือสาเหตุที่ทำให้คำสั่งเหมือนwhereisหรือwhichไม่แสดงตำแหน่งของคำสั่งให้ฉันดู? เช่นฉันมี NVM และต้องการที่จะรู้ว่ามันอยู่ที่ไหน แต่ไม่มีคำสั่งเหล่านี้ช่วยให้ฉันหาไบนารี ฉันควรใช้เฉพาะfindในกรณีนี้หรือไม่? UPDATE นี่คือผลลัพธ์ที่ยาวนานของ type nvm $ type nvm nvm is a function nvm () { if [ $# -lt 1 ]; then nvm help; return; fi; local uname="$(uname -a)"; local os=; local arch="$(uname -m)"; case "$uname" in Linux\ *) os=linux ;; Darwin\ *) os=darwin ;; …
14 bash 

1
หนึ่ง sudo สำหรับหลายขั้ว
สิทธิ์รูทของ Sudo จะได้รับในเวลาที่กำหนด แต่สำหรับเทอร์มินัลเดียวเท่านั้น ถ้าฉันต้องการใช้ sudo ในเทอร์มินัลอื่นในช่วงเวลานั้นฉันต้องพิมพ์รหัสผ่านอีกครั้ง วิธีการบังคับให้ sudo ทำงานข้ามขั้วได้อย่างไร
14 bash  shell  sudo 

3
มีเชลล์ที่รองรับการเสร็จฟัซซี่ใน Sublime Text ไหม
ฉันกำลังใช้ bash และฉันสงสัยว่ามีปลั๊กอินใด ๆ ใน bash หรือ shell อื่น ๆ ซึ่งทำให้ฉันสามารถทำสิ่งนี้ cat tfnislong.txt+ [tab]เสร็จcat ThisFileNameIsSoLong.txtเหมือนกับแท็บใน Sublime Text

1
วิธีการเปลี่ยน / เปลี่ยนรหัสผู้ใช้กับสคริปต์ทุบตีเพื่อรันคำสั่งในสคริปต์เดียวกันได้หรือไม่
มีวิธีการเปลี่ยนรหัสประจำตัวผู้ใช้ภายในสคริปต์ (ดำเนินการในฐานะรูทซึ่งเป็นส่วนหนึ่งของกระบวนการติดตั้ง) เพื่อดำเนินการคำสั่งบางอย่างโดยไม่เรียกสคริปต์ภายนอกแล้วกลับrootไปใช้คำสั่งอื่นหรือไม่ เรียงจาก: #!/bin/bash some commands as root SWITCH_USER_TO user some commands as user including environment variables checks, without calling an external script SWITCH_USER_BACK some other stuff as root, maybe another user id change...

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