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

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

1
เทอร์มินัลไม่ทำงาน: -bash: exit: with: อาร์กิวเมนต์ตัวเลขจำเป็นต้องทำอย่างไร?
ฉันกำลังพยายามติดตั้งคอมไพเลอร์ F # และการโต้ตอบบน Mac ของฉันและเป็นส่วนหนึ่งของกระบวนการติดตั้งที่จำเป็นต้องมีนามแฝงในไฟล์โปรไฟล์ทุบตี ฉันสงสัยว่าฉันทำอะไรบางอย่างยุ่งที่นี่เพราะตอนนี้สถานีไม่ทำงานเลยเพียงแสดง: Last login: Fri May 18 09:44:33 on console -bash: exit: with: numeric argument required [Process completed] และนี่คือเนื้อหาของไฟล์. bash_profile: alias fsc="mono ~/FSharp-2.0.0.0/bin/fsc.exe" alias fsi="mono ~/FSharp-2.0.0.0/bin/fsi.exe" และฉันไม่สามารถพิมพ์และอื่น ๆ ในเทอร์มินัลฉันก็พยายามเริ่ม iTerminal ด้วย แต่มันก็แค่ขัดข้อง มีแนวคิดใดบ้างที่ฉันจะทำให้มันทำงานอีกครั้งได้? ฉันมักจะไม่ใช้เครื่อง

1
จะให้แต่ละเทอร์มินัลเสมือนในหน้าจอ GNU เป็นสีพื้นหลังของตัวเองได้อย่างไร
ฉันมีความฝัน: ฉันต้องการให้แต่ละเทอร์มินัลเสมือนภายในหน้าจอ GNU มีสีพื้นหลังที่เป็นเอกลักษณ์ของตัวเอง ฉันคิดว่าฉันสามารถปลอมมันในสคริปต์. bashrc ที่ปล่อยรหัสควบคุม xterm เพื่อตั้งค่าสีพื้นหลังตามตัวแปร $ WINDOW - แต่วิธีนี้จะไม่ทำงานถ้าฉันเริ่มกระบวนการที่ไม่ใช่การทุบตี (เช่นถ้าฉันเรียกใช้ " หน้าจอ vi foo ") มีวิธีที่ฉลาดกว่านี้ในการเปลี่ยนสีพื้นหลังทุกครั้งที่เปลี่ยนเทอร์มินัลเสมือนจริงหรือไม่?

1
วิธีการแก้ไขข้อผิดพลาด“ -bash: ไม่พบคำสั่ง”
ฉันได้รับสิ่งนี้ทุกครั้งที่ฉันเปิดเทอร์มินัลบน mac หลังจากเรียนรูบี้: -bash: xzc: command not found -bash: z: No such file or directory -bash: cx: command not found -bash: zcx: No such file or directory -bash: zcx: No such file or directory -bash: cz: command not found ฉันจะแก้ไขได้อย่างไร
1 mac  bash  terminal 

7
วิธีการใช้ ssh จากเชลล์สคริปต์โดยไม่ต้องรอรหัสผ่าน?
ฉันไม่สามารถใช้วิธีการกุญแจสาธารณะ ฉันไม่ต้องการใช้สคริปต์คาดหวัง ฉันค้นหาไซต์นี้เพื่อหาวิธีแก้ปัญหา แต่ทุกคนกำลังพูดถึงโซลูชันเหล่านี้ มีวิธีอื่นเช่นพารามิเตอร์บรรทัดคำสั่งเพื่อคำสั่ง ssh (เช่น --password = 'asdf') หรือการเปลี่ยนเส้นทางอินพุต ("<")?
1 linux  bash  ssh  script 

2
ไฟล์ mv ที่มีหลาย `. 'ในชื่อไฟล์
ฉันมีไฟล์บางไฟล์ที่ฉันได้รับพร้อมชื่อเช่น (สำหรับหลาย ๆ คนที่ต้องทำด้วยตนเองทุกวัน): AA.B.txt WW.C.txt และฉันต้องการเปลี่ยนชื่อพวกเขาเป็นAA_B.txtและWW_C.txtเพื่อให้รหัส SQL ที่มีอยู่ยังคงทำงานตามที่คาดไว้ ตอนนี้ไฟล์เหล่านี้จะถูกละเว้นเนื่องจากรูปแบบ filename.letter.txt ls ใช้งานได้และแสดงไฟล์เหล่านี้ให้ฉัน: $ ls -a *.*.txt AA.B.txt* ABR.A.txt* ABR.B.txt* ABR.C.txt* ACT.A.txt* อย่างไรก็ตามmvคำสั่งที่คล้ายกันล้มเหลว: $ mv *.*.txt *_*.txt usage: mv [-f | -i | -n] [-v] source target mv [-f | -i | -n] [-v] source ... directory ฉันจะจับคู่รูปแบบที่ฉันมีกับสิ่งที่ฉันต้องการได้อย่างไร

4
ฉันจะหยุดกระบวนการสร้างไฟล์ที่ทำงานได้อย่างไร
เพื่อนของฉันและฉันกำลังยุ่งกับคอมพิวเตอร์ของเรา bash_profiles และหนึ่งในเรา (... ) เขียนลูปไม่สิ้นสุดที่สร้างไฟล์บนเดสก์ท็อปของเขา โค้ดหลอกมีลักษณะดังนี้: i=1 while(i > 0) do i=++ echo filename$i done สคริปต์รันเป็นเวลาประมาณสิบวินาทีในการสร้าง 200,000 ไฟล์บนเดสก์ท็อปของเขา ตอนนี้คอมพิวเตอร์กำลังพยายามประมวลผลไฟล์ ไม่มีใครรู้วิธีที่จะฆ่ามันได้หรือไม่
1 macos  bash 

1
การแก้ไขชื่อไฟล์ในสไตล์ของตัวแก้ไขข้อความในไดเรกทอรี
ฉันจะแก้ไขชื่อของไฟล์ในไดเรกทอรีราวกับว่าฉันแก้ไขข้อความของไฟล์โดยใช้โปรแกรมแก้ไขข้อความได้อย่างไร? ฉันรู้สึกว่าฉันเห็นสิ่งนี้สาธิตในวิดีโอบางทีอาจใช้ปลั๊กอิน Vim หรืออย่างอื่น - หรืออาจเป็นข้อความ Sublime? ฉันต้องการที่จะสามารถทำการแทนที่สตริง regex ทำการแก้ไขโดยพลการ ฯลฯ โดยไม่ต้องเขียนเชลล์สคริปต์หรือร่างคำสั่ง arcane shell

3
บรรทัดคำสั่ง OSX ค้นหาชื่อไฟล์ที่ซ้ำกันที่มีนามสกุลต่างกัน
ฉันได้ผ่านทุกคำถามที่คล้ายกัน + ติดตั้งสาธารณูปโภคบรรทัดคำสั่งไม่กี่อย่างดัฟฟ์ แต่ไม่มีความสำเร็จ ในไดเรกทอรีรูปภาพของฉันฉันมีภาพที่มีชื่อเหมือนกัน แต่มีนามสกุลต่างกัน (jpg & png) ฉันแค่ต้องการพิมพ์ชื่อไฟล์ของชื่อไฟล์ซ้ำด้วยส่วนขยายที่ต่างกัน (เช่น foo.jpg & foo.png) หรืออย่างน้อยหนึ่งชื่อไฟล์ (foo) จนถึงตอนนี้ฉันลองใช้วิธีเหล่านี้ find . -exec bash -c 'basename "$0" ".${0##*.}"' {} \; | sort | uniq find . -type f \( -name "*.jpg" -o -name "*.png" \) ที่สุดของคำสั่งเหล่านี้จะส่งกลับผมทั้งไม่มีอะไรหรือไฟล์ทั้งหมดหรือไม่ซ้ำกันชื่อไฟล์ แต่ไม่คนที่ซ้ำกัน

2
ใส่ชื่อไฟล์ในไดเรกทอรีลงในไฟล์ข้อความพร้อมพารามิเตอร์เฉพาะ
ฉันต้องใส่ชื่อไฟล์ทั้งหมดในไดเรกทอรี (นึกคิดไม่รวมคำต่อท้าย) ลงในไฟล์ข้อความ จนถึงตอนนี้ฉันกำลังใช้ dir /b > filex.txt แต่ฉันต้องมีเอาต์พุตในหนึ่งแถวและฉันต้องมีORชื่อไฟล์ทุกหลังเพื่อให้ฉันสามารถคัดลอกชื่อไฟล์เหล่านี้และนำไปไว้ในการค้นหาของ Windows ได้อย่างง่ายดาย ผลลัพธ์ใน textfile ควรมีลักษณะเช่นนี้: file OR file1 OR file2

1
Unix / Linux - ไฟล์หน่วยบริการไม่สามารถจดจำชุดตัวแปร env ใน / etc / environment
ฉันมีการตั้งค่าตัวแปรสภาพแวดล้อมอย่างถูกต้องสิ่งต่อไปนี้ /etc/environment ฉันมั่นใจว่าโหลดได้อย่างถูกต้องผ่าน/etc/profileการแก้ไข และฉันสามารถสะท้อนเพื่อยืนยัน แต่เมื่อฉันสร้างไฟล์หน่วยสำหรับบริการของฉันมันล้มเหลวเพราะตัวแปรสภาพแวดล้อมหายไป อย่างไรก็ตามฉันสามารถเริ่มสคริปต์ด้วยตัวเองตามปกติ นี่คือไฟล์หน่วยบริการของฉัน: [Unit] Description=Zookeeper unit for this machine AssertPathExists=/opt/kafka [Service] Type=simple ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh แสดง journalctl ที่javaไม่พบ - แต่มีจาวาผ่านเส้นทาง $ JAVA_HOME ซึ่งพบได้ง่ายเมื่อฉันเริ่มต้นโดยตรงจากทุบตี ฉันไม่ใช่ผู้ใช้ที่เป็นผู้ดูแลระบบ :) ดังนั้นความผิดพลาดที่โง่ ๆ อาจเกิดขึ้นที่นี่ กรุณามีคนแนะนำ ฉันควรจะเพิ่มในไฟล์ system.conf และโหลด daemon ใหม่หรือไม่ ความนับถือ,

2
การแนบโค้ดเพื่อเริ่มและสิ้นสุดเซสชันใน Linux
ฉันพยายามเรียกใช้งานรหัสบางอย่าง (เรียกว่า login.java) เมื่อฉันเข้าสู่ระบบและออกจากเครื่อง linux ของฉัน มีวิธีการทำเช่นนี้? ฉันกำลังมองหาวิธีเรียกรหัส ฉันคิดว่าเพียงแค่วางไว้ใน. bash_login ของฉัน แต่โดยเฉพาะอย่างยิ่งรหัสจะเปิดตัวในการเข้าสู่ระบบปกติไม่ใช่เมื่อฉันเริ่มต้นเทอร์มินัล
1 linux  bash 

1
เรียกใช้การกระทำอัตโนมัติเมื่อเชื่อมต่อกับ ssid เฉพาะบน OS X
วิทยาลัยของฉันต้องการเว็บเพจการรับรองความถูกต้องเกตเวย์ท้องถิ่นหลังจากเชื่อมต่อกับ wifi ของพวกเขาดังนั้นฉันต้องการให้ macbook pro ของฉันทำงานโดยอัตโนมัติด้วยผู้ใช้และรหัสผ่านที่เหมาะสมเมื่อฉันเชื่อมต่อกับ wifi ssid ของพวกเขา ฉันไม่แน่ใจว่าฉันจะตรวจสอบที่ ssid ในทุบตีได้อย่างไรหรือยูทิลิตี้ใดที่จะเปิดคำสั่งโดยอัตโนมัติเมื่อเชื่อมต่อกับ SSID ที่แน่นอน

0
ไฟล์หรือโฟลเดอร์ไม่พบข้อผิดพลาด แต่มีไฟล์อยู่
ฉันดาวน์โหลด android ADT bundle สำหรับ Linux (distro ของฉันคือ Elementary OS) และหลังจากที่คลายซิปแล้วฉันเปิดโฟลเดอร์sdk/platform-toolsบนเทอร์มินัลแล้วลองเรียกใช้ไฟล์ adb เมื่อรันlsคำสั่งมันจะแสดงไฟล์ที่นั่น แต่เมื่อฉันพิมพ์./adbหรือเพียงแค่adbมันแสดงข้อผิดพลาดที่ชื่อ ฉันจะแก้ไขได้อย่างไร ฉันได้ลองแล้วchmod +x adb screnshot:
1 bash 

1
วิธีการเปลี่ยนผู้ใช้และรันคำสั่งจากระยะไกลผ่าน SSH
ฉันต้องการเข้าสู่ระบบผ่าน SSH user@remoteแล้วเปลี่ยนผู้ใช้เป็น tomcat ย้ายไฟล์ไปที่$CATALINA_HOME/webappsและเริ่มต้นเซิร์ฟเวอร์ tomcat อีกครั้งในสคริปต์เดียวกัน
1 bash  ssh  tomcat 

1
เป็นกลุ่ม - ฉันสามารถส่ง args หลายรายการไปยังคำสั่งที่กำหนดเองโดยไม่ต้องเขียนฟังก์ชั่น
ฉันได้เขียนคำสั่งที่กำหนดเองต่อไปนี้ในไฟล์. vimrc ของฉัน: command! -nargs=+ Sub :%s/<args>/g มันทำให้ฉันสามารถแทนที่คำหนึ่งไปอีกคำหนึ่งและดำเนินการเช่นนี้: :Sub <word>/<new word> ฉันต้องการเขียนคำสั่งด้วย args หลายอันเช่นนี้ :Sub <word> <new word> ฉันสามารถเขียนคำสั่งใหม่เพื่อยอมรับการขัดแย้งกันหลายครั้งได้หรือไม่? เป็นการดีที่ฉันต้องการสิ่งนี้: command! -nargs=+ Sub :%s/<arg1>/<arg2>/g ขอบคุณล่วงหน้า.

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