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

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

2
ฉันจะรับรายการด้วยแพ็คเกจที่เลือกโดย apt-get autoremove ได้อย่างไร?
มีคำสั่งใด ๆ ที่พิมพ์เฉพาะชื่อของแพ็คเกจที่apt-get autoremoveเลือกหรือไม่? ฉันกำลังสร้างสคริปต์ที่อัปเดตเคอร์เนลลบเคอร์เนลเก่าและแพ็คเกจที่ไม่จำเป็น ( apt-get autoremove) แต่ฉันต้องการพิมพ์รายชื่อแพ็คเกจที่จะถูกลบบนหน้าจอบนหน้าจอapt-get autoremoveฉันจะทำสิ่งนี้ได้อย่างไร

1
เทอร์มินัลคำสั่งเพื่อซูม
ฉันค้นหามาระยะหนึ่งแล้วและหาที่ไหนไม่ได้เลย ฉันต้องสามารถซูม (เทียบเท่า ctrl + shift + '+') ผ่านเทอร์มินัล ฉันได้ลอง xdotool แล้ว แต่ไม่ทราบวิธีการลงทะเบียน '+' (หรือปุ่ม =) สิ่งนี้สำคัญมากและเป็นความฝันของฉัน ตอนนี้ฉันค่อนข้างสามารถใช้ Ubuntu ฉันรู้สึกว่าฉันสามารถบรรลุเป้าหมายนี้ได้ในที่สุด: ฉันต้องสร้างนามแฝงเช่นเมื่อฉันพิมพ์ "ปรับปรุง" ทุกสิ่งที่ซูม

1
มีวิธีที่ฉันสามารถเปิด Windows 10 Ubuntu bash โดยไม่ใช้สคริปต์ ~ / .bashrc หรือไม่
ฉันกำลังแก้ไขสคริปต์ bashrc ใน Windows 10 Ubuntu Bash ของฉันและฉันทำผิดพลาดขณะแก้ไขสคริปต์ ตอนนี้ทุบตีออกทันทีที่เปิดมัน มีวิธีให้ฉันเปิด Bash โดยไม่ใช้ bashrc หรือไม่ฉันต้องติดตั้งใหม่หรือไม่

4
ตัวแปรที่มีเครื่องหมายคำพูด“ $ ()”
ฉันเขียนสคริปต์นี้: #!/bin/bash while [ true ] do currentoutput="$(lsusb)" if [ "$currentoutput" != "$lastoutput" ] then echo "" date and Time >> test.log date +%x_r >> test.log lastoutput="$(lsusb)" lsusb >> test.log fi sleep 5 done ผมเป็นมือใหม่พยายามที่จะเรียนรู้ได้อย่างรวดเร็วและผมได้รับคำถามเกี่ยวกับตัวแปรที่เครื่องหมายอัญประกาศ ใส่ตัวแปรระหว่าง $ () เอาล่ะ แต่ทำไมต้องใส่เครื่องหมายอัญประกาศในifงบ? มันจะทำให้คำสั่งซ้อนกัน?
12 bash  scripts 

4
Bash script เพื่อ จำกัด จำนวนการเข้าสู่ระบบ
บริษัท ของฉันมีข้อกำหนดที่ฉันมีเซิร์ฟเวอร์แอปพลิเคชันหนึ่งตัวที่ทำงานซึ่งผู้ใช้ทุกคนเข้าถึงได้ผ่านทางเทอร์มินัลฉาบ ฉันต้องการเขียนเชลล์สคริปต์ที่ควรจะเปิดเทอร์มินัลเพียง 20 อันเท่านั้น หากเทอร์มินัลที่ 21 เปิดขึ้นมาฉันต้องการปิดเทอร์มินัลนั้นทันที ฉันจะบรรลุสิ่งนี้ได้อย่างไร โปรดช่วยฉันด้วย

4
การสร้างสคริปต์พร้อมตัวเลือกเพื่อเข้าถึงไดเรกทอรีและไฟล์ต่างๆ
ฉันดิ้นรนเป็นเวลานานในการเขียนสคริปต์ซึ่งจะมี 2 ข้อโต้แย้ง 1 ขอให้เลือกหนึ่งปีและ 2 ขอให้เลือกว่าฉันต้องการแสดงขั้นต่ำสูงสุดสูงสุดเฉลี่ยหรือทั้งหมดเป็นบรรทัดสุดท้ายจากไฟล์ที่เกี่ยวข้อง ถึงปีที่เลือก โดยทั่วไปฉันมีไดเรกทอรีที่มีไดเรกทอรีย่อยของปีต่างๆ (2000, 2001, 2002 ฯลฯ ) ในไดเรกทอรีเหล่านั้นเป็นไดเรกทอรีย่อยสำหรับเดือนและวันที่มี (a) ไฟล์ (s) แจ้งเกี่ยวกับประชากร (ไม่ใช่ข้อมูลจริง) ที่แตกต่างกัน เมืองเป็นบรรทัดสุดท้าย นั่นเป็นส่วนหนึ่งของแผนผังไดเรกทอรี: . |-- 2000 | |-- 01 | | `-- 18 | | `-- ff_1177818640 | |-- 02 | | |-- 02 | | | `-- ff_1669027271 | …

3
ความผิดพลาดในฟังก์ชั่นเชลล์เพื่อนับจำนวนคู่
สำหรับการมอบหมายฉันต้องเขียนฟังก์ชั่นที่พิมพ์จำนวนคู่เมื่อจัดลำดับหมายเลข ฉันใช้ชิ้นส่วนของรหัสที่ฉันใช้สำหรับการบ้านก่อนหน้า (เพื่อพิมพ์1เมื่อตัวเลขเป็นเลขคู่และ0เมื่อเลขคี่) ปัญหาของฉันตอนนี้คือฟังก์ชั่นของฉันยังคงพิมพ์0อยู่ ผมทำอะไรผิดหรือเปล่า? นี่คือสคริปต์ของฉัน: #!/usr/bin/bash # File: nevens.sh # Write a function called nevens which prints the number of even numbers when provided with a sequence of numbers. # Check: input nevens 42 6 7 9 33 = output 2 function nevens { local sum=0 for element in …

1
เทอร์มินัลแทน! ตามด้วยหมายเลขด้วยคำสั่ง
ฉันสับสนมากเกี่ยวกับเซสชันเทอร์มินัล Ubuntu ของฉันดูเหมือนว่าจะแทนที่ส่วนในคำสั่งที่เริ่มต้น!ตามด้วยหมายเลขด้วยคำสั่งแบบสุ่มที่ดูเหมือนว่า มันไม่ได้ว่ามีการ!87แทนที่ด้วยscreen -lและยังมีและแทนที่ด้วย!88ls ความคิดเห็นใด ๆ ที่ทำให้เกิดเหตุการณ์นี้ขึ้น

3
จัดเรียงและผสาน 2 ไฟล์โดยไม่มีบรรทัดที่ซ้ำกันโดยยึดตามคอลัมน์แรก
ฉันมีไฟล์ที่มีชื่อการทดสอบทั้งหมด: $ cat all_tests.txt test1 test2 test3 test4 test5 test6 และอีกไฟล์หนึ่งที่มีชื่อการทดสอบและผลลัพธ์ที่เกี่ยวข้อง: $ cat completed_tests.txt test1 Passed test3 Failed test5 Passed test6 Passed วิธีการสร้างไฟล์ใหม่ที่มีชื่อการทดสอบทั้งหมดที่มีผลลัพธ์ที่เกี่ยวข้องโดยไม่ซ้ำกัน? หากฉันดำเนินการ: sort all_tests.txt completed_tests.txt ผลลัพธ์ประกอบด้วยรายการที่ซ้ำกัน: test1 test1 Passed test2 test3 test3 Failed test4 test5 test5 Passed test6 test6 Passed ผลลัพธ์ที่ต้องการ: test1 Passed test2 test3 Failed test4 test5 …

5
ต้องการสร้างไฟล์ txt สำหรับทุก png ในโฟลเดอร์
ฉันมีสคริปต์นี้ #!/bin/bash folder='/home/data/mnist/training' for filePng in $folder/* do touch $filePng.txt done มันใช้งานได้ดีสำหรับไฟล์ที่ชื่อ001.pngมันจะสร้างขึ้น001.png.txtแทน001.txtแทน ฉันจะแก้ไขสิ่งนี้ได้อย่างไร
12 bash  scripts 

2
สำหรับการวนซ้ำด้วยตัวอักษร
มันทำงานได้อย่างสมบูรณ์บน OSX #!/bin/bash chars=( {a..z} ) n=3 for ((i=0; i<n; i++)) do echo "${chars[i]}" done แต่เมื่อฉันเรียกใช้บน Ubuntu ฉันได้รับข้อผิดพลาดต่อไปนี้ ForLoopAlphabetTest.sh: 2: ForLoopAlphabetTest.sh: Syntax error: "(" unexpected ฉันดูเหมือนจะไม่สามารถแก้ปัญหาได้ ข้อเสนอแนะใด ๆ
12 bash  scripts  syntax 

1
คุณสมบัติของเปลือกเป็นแบบกลมหรือไม่?
ฉันอ่านคำถามและคำตอบมากมายเช่นนี้และคำถามนี้ ฉันรู้ว่า wildcards นั้นถูกขยายโดยเชลล์ก่อนที่จะรันคำสั่งและมันเป็นคุณสมบัติของเชลล์ อักขระตัวแทนยังทำงานกับคำสั่งเหล่านั้นที่สามารถยอมรับอาร์กิวเมนต์ได้มากมาย ในfind . -name *.rb ถ้าเรามีมากกว่าหนึ่งไฟล์ในไดเรกทอรีปัจจุบันfindจะทำให้เรามีข้อผิดพลาดเพราะการค้นหาไม่สามารถยอมรับข้อโต้แย้งหลาย ๆ และวิธีการแก้ปัญหานี้คือ: find . -name "*.rb" find . -name '*.rb' find . -name \*.rb เราหนีเครื่องหมายดอกจันและป้องกันการขยายโดยเชลล์ แต่อักขระตัวแทนเป็นคุณลักษณะของเชลล์ เมื่อเราหลบหนีเชลล์ดอกจันไม่ทราบความหมายของมันและควรหาไฟล์ชื่อ*.rbดังนั้นเครื่องหมายดอกจันจะถูกขยายในกรณีนี้อย่างไร
12 bash  find  wildcards 

3
แยกคำจากสตริงโดยใช้ grep / sed / awk
ฉันมีสาย 00:28:04 /usr/lib/jvm/jre/bin/java -DJDBC_CONNECTION_STRING= -Dspring.profiles.active=qa -XX:MaxPermSize=256 และต้องการแยกคำqaที่ตาม-Dspring.profiles.activeมา ฉันมีบันทึกสตริงในไฟล์ text.txt เพียงเพื่อสาธิตมัน เมื่อฉันทำ grep -r -o "spring.profiles.active=" text.txt ผลที่ได้คือ spring.profiles.active= คำนี้ไม่เคยเป็นqaมันอาจจะเป็นหรือproddev สิ่งที่ผมอยากจะทำคือการหาคำspring.profiles.activeและหลังจาก=สารสกัดจากว่าคำว่า ฉันต้องการเชลล์สคริปต์นี้เพราะฉันใช้คำเพื่อกำหนดค่ารายการอื่น ๆ บนเซิร์ฟเวอร์ เป็นไปได้และถ้าเป็นเช่นนั้นฉันจะทำอย่างไร
12 command-line  bash  grep  sed  awk 


1
_expand ทำอะไร
ผมทำงานกับเปลือกและโดยไม่ได้ตั้งใจฉันเติมข้อความอัตโนมัติด้วยtabหลังจากที่เขียนซึ่งมีผลใน_e_expand คำสั่งนี้ทำอะไร ฉันไม่สามารถหาคำอธิบายออนไลน์การอ้างอิงเดียวที่ฉันสามารถหาได้ที่นี่ใน Ask Ubuntu คือ: ไม่สามารถเปลี่ยนพรอมต์ zsh ฟังก์ชันการเติมข้อความอัตโนมัติของเทอร์มินัลสามารถจับคู่ได้ตั้งแต่ต้นเท่านั้น แต่พวกเขาไม่ตอบคำถามของฉัน แต่พวกเขาเปิดขึ้นคำถามเพิ่มเติมของชนิดเดียวกันเกี่ยวกับคำสั่งเช่น_complete, _complete_as_rootฯลฯ

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