คำถามติดแท็ก command-line

คำถามเกี่ยวกับการใช้อินเตอร์เฟสบรรทัดคำสั่ง (CLI)

2
ฉันจะเพิ่มแบ็กสแลชก่อนช่องว่างทั้งหมดได้อย่างไร
ฉันจะใส่แบ็กสแลชต่อหน้าทุกช่องว่างได้ดีกว่าโดยใช้trหรือsedคำสั่งได้อย่างไร นี่คือสคริปต์ของฉัน: #!/bin/bash line="hello bye" echo $line | tr ' ' "\\\ " นี่ควรจะแทนที่ช่องว่างด้วยแบ็กสแลชตามด้วยช่องว่าง แต่มันจะแทนที่ช่องว่างด้วยแบ็กสแลชเท่านั้นและไม่ใช่แบ็กสแลช + ช่องว่าง นี่คือผลลัพธ์ที่ฉันได้รับ: hello\bye ผลลัพธ์ที่คาดหวัง: hello\ bye

1
ทำไม "exec false" ปิดเทอร์มินัลอย่างไร
ฉันรู้ว่านี่อาจเป็นคำถามที่ไม่มีจุดหมาย แต่ฉันอยากรู้ว่าทำไมexec falseปิดเทอร์มินัลเหมือนอย่างที่exitทำ ฉันต้องการทราบว่านี่เป็นวิธีที่ยอมรับได้ในการปิดเครื่องหรือไม่

1
วิธีตั้งค่า JDK ใหม่ใน NetBeans IDE หลังจากอัพเดต Java (NetBeans IDE ปฏิเสธที่จะเริ่ม)
นี่เป็นคำถามที่จะช่วยให้คุณทราบว่าเมื่อใดที่คุณทราบว่าหลังจากอัพเดต Java เวอร์ชันของคุณแล้ว NetBeans IDE จะไม่ยอมเปิดตัว และแม้หลังจากการปรับปรุง$PATHตัวแปรของคุณใน.bashrcไฟล์ของคุณคุณยังคงพบว่า NetBeans จะไม่เปิดตัวและเมื่อคุณลองและเปิดใช้งานผ่านบรรทัดคำสั่งด้วยคำสั่ง: ./netbeans-8.0.2/bin/netbeans เป็นเพียงแค่ให้คุณ: Cannot find java. Please use the --jdkhome switch. แต่เมื่อคุณพยายามระบุใหม่jdkhomeด้วย ( <versionจะถูกแทนที่ด้วยหมายเลขเวอร์ชันของคุณตัวอย่างเช่นมันสามารถถูกแทนที่ด้วย1.8.0_40): ./netbeans-8.0.2/bin/netbeans --jdkhome jdk<version>/ คุณพบว่าคุณต้องทำอย่างนั้นทุกครั้งเพื่อให้ NetBeans เปิดตัวจริงและมันก็กลายเป็นสิ่งที่สร้างความรำคาญ ดังนั้นสิ่งที่คุณต้องทำคือไปที่ไฟล์กำหนดค่า NetBeans ที่มีการตั้งค่าตัวแปรบ้าน JDK จริงสำหรับ NetBeans เพื่อให้ NetBeans สามารถอ้างอิงได้เมื่อเริ่มต้น

1
แสดงพา ธ ที่เข้าถึงได้ 'cd' ไปยังอุปกรณ์ mtp ใน Nemo
Nemo แสดงพา ธ ไปยังอุปกรณ์ mtp ดังนี้: mtp://[usb:001,007]/ ฉันต้องการคัดลอกพา ธ จาก Nemo ไปยังเทอร์มินัลและที่cdนั่น อาจเป็นไปได้แม้จะมีเส้นทางนี้ในขณะที่หลีกเลี่ยงสัญลักษณ์บางอย่าง (พยายามไม่สำเร็จ)? ขณะนี้ฉันต้องทำเช่นนี้: cd /run/user/1000/gvfs/mtp:host=%5Busb%3A001%2C007%5D

1
ฉันจะเรียกใช้สคริปต์เมื่อแหล่งจ่ายไฟเสียบปลั๊กหรือออกได้อย่างไร
ด้วยเหตุผลบางอย่างความสว่างหน้าจอแล็ปท็อปของฉันไม่อัปเดตเมื่อฉันเสียบปลั๊กหรือจ่ายไฟ ฉันได้ดูวิธีแก้ปัญหาเล็กน้อยสำหรับปัญหานั้น แต่ดูเหมือนว่าไม่มีวิธีใดที่ทำงานได้ดี ดังนั้นแทนที่จะหมดหวังและเลิกฉันตัดสินใจที่จะลองเปลี่ยนสิ่งนี้ให้เป็นประสบการณ์การเรียนรู้และดูว่าฉันไม่สามารถเขียนสคริปต์ที่ทำเพื่อฉันได้หรือไม่ ฉันลองหามันเองด้วยความช่วยเหลือจากอินเทอร์เน็ตแน่นอน แต่ฉันค่อนข้างใหม่ในการทุบตีสคริปต์และ Ubuntu โดยทั่วไปดังนั้นฉันจึงไม่ได้ไปไกล สิ่งที่ฉันสามารถคิดออกได้คือฉันสามารถค้นหาสถานะของแบตเตอรี่ด้วย $ upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep -E "state" state: charging/discharging ขึ้นอยู่กับว่าเสียบอะแดปเตอร์ AC หรือไม่ฉันไม่รู้ว่ามันมีประโยชน์หรือไม่ แต่มันก็เจ๋งดีและฉันไม่รู้วิธีใช้grepมาก่อน อย่างไรก็ตามมีวิธีที่ค่อนข้างสะอาดในการทำเช่นนี้หรือไม่? โดย "วิธีที่สะอาด" ฉันหมายถึงวิธีที่หนึ่งที่มีประสบการณ์สคริปต์ทุบตี จำกัด สามารถเข้าใจ หนึ่งคำถามที่คล้ายกันฉันพบว่ามีคำตอบที่ดีคือคำถามนี้ซึ่งกล่าวว่าต่อไปนี้: เมื่อคุณเสียบอะแดปเตอร์ AC เข้า / ออกสคริปต์ที่/etc/pm/power.dถูกเรียกด้วย> อาร์กิวเมนต์: "true" (ถ้าคุณใช้แบตเตอรี่) หรือ "false" (ถ้าคุณใช้อะแดปเตอร์ไฟ) ปัญหาคือฉันไม่รู้วิธีเข้าถึงอาร์กิวเมนต์นั้นจากภายในสคริปต์ ดังนั้นฉันคิดว่าทุกอย่างจะเดือดร้อนเป็นปัญหาที่ค่อนข้างง่าย แต่ฉันคิดว่าฉันโพสต์คำถามต่อไปในกรณีที่คนมีวิธีแก้ปัญหาที่ดีกว่า

1
คุณใช้คำสั่ง 'สคริปต์' อย่างมีประสิทธิภาพเพื่อบันทึกเชลล์แบบโต้ตอบได้อย่างไร
ฉันได้ดูข้อมูลอ้างอิงนี้และพยายามหาวิธีใช้คำสั่ง 'สคริปต์' จริง ๆ มีคนให้ตัวอย่างการใช้งานกับฉันได้ไหม สิ่งที่ฉันทำได้ตอนนี้คือสร้างไฟล์ข้อความเปล่าscript myChosenFileNameแต่มันไม่ได้บันทึกอะไรเลย ข้อมูลเพิ่มเติมอีกเล็กน้อย: ฉันต้องการบันทึกผลลัพธ์ทั้งหมดจากการแปลของฉันในเชลล์เชิงโต้ตอบสำหรับการอ้างอิงในอนาคต ตัวอย่างคำสั่งเพื่อเปิดสิ่งนี้จะเป็นtrans -I {de=en} ฉันแน่ใจว่านี่จะเป็นคำถามง่าย ๆ สำหรับคนที่มีประสบการณ์ CLI มากกว่าฉัน (ฉันรู้สึกโง่เล็กน้อยที่มีการอ้างอิงอยู่ตรงหน้าฉันและยังไม่จัดการ ... ) ขอบคุณ!

2
เทอร์มินัลคำสั่งสำหรับการตรวจสอบ / ยกเลิกการทำเครื่องหมาย“ หน้าจอหรี่แสงเพื่อประหยัดพลังงาน”?
ฉันมีปัญหาในการป้องกันแล็ปท็อปของฉันใช้ Ubuntu 14.04 จากหน้าจอมืดลงเมื่อใช้พลังงานแบตเตอรี่ ฉันได้ลองทุกอย่างที่มีบนอินเทอร์เน็ตเพื่อป้องกันไม่ให้เกิดเหตุการณ์นี้ แต่เปล่าประโยชน์ คนส่วนใหญ่แก้ไขปัญหาโดยยกเลิกการเลือกช่องทำเครื่องหมายข้าง "หน้าจอสลัวเพื่อประหยัดพลังงาน" ในการตั้งค่า "ความสว่างและล็อค" ฉันได้ลองเช่นกัน ดังนั้นมีวิธีการทำเช่นนี้จากสถานี?

4
วิธีการวาดภาพที่มีข้อความอยู่ตรงกลางของที่ผ่านทางบรรทัดคำสั่ง?
ฉันต้องวาดภาพด้วยข้อความที่อยู่ตรงกลางผ่านทางบรรทัดคำสั่งเพื่อนำไปใส่ในวิดีโอต่อไป ข้อความสีเหลืองง่าย ๆ บนพื้นหลังสีดำ ฉันลองFFmpegวิธี: ffmpeg -loop 1 -r 1 -i b.png -b:v 1M -vf "scale=320:240, drawtext=fontfile=/usr/share/fonts/truetype/DejaVuSans.ttf: text='Test Text'" -vcodec mpeg4 -acodec aac preroll.mp4 ซึ่งทำให้ฉันข้อผิดพลาดต่อไปนี้: [AVFilterGraph @ 0xf56020] No such filter: 'drawtext' ฉันพยายามที่จะติดตั้งivtoolsและพยายามdrawtoolและidrawสิ่งที่เห็นได้ชัดสำหรับสภาพแวดล้อมเดสก์ทอป จะสร้างภาพอย่างง่ายพร้อมข้อความใน Ubuntu โดยทางโปรแกรมได้อย่างไร

1
เข้าถึง / dev / ttyUSB0 และ sudo
นี่เป็นคำถามแรกของฉันที่นี่ ฉันใช้ Ubuntu 12.04 และมีแอปพลิเคชันที่เข้าถึงพอร์ต USB ของคอมพิวเตอร์ ชื่อผู้ใช้อูบุนตูของฉันคือgadu จนถึงวันนี้ฉันได้ใช้คำสั่งต่อไปนี้เสมอ: sudo ./gadumaster และป้อนรหัสผ่านของฉัน (gadumaster เป็นแอปพลิเคชันที่เข้าถึง USB) คำสั่งนี้ใช้งานได้เช่นเดียวกับการเรียกใช้ฟังก์ชั่นการรีบูตระบบ () ที่ใช้ในการรีสตาร์ทแล็ปท็อปของฉันเมื่อเกิดสภาวะภายนอกจาก USB เกิดขึ้น วันนี้ฉันต้องเปลี่ยนสิ่งต่าง ๆ เพื่อให้แอปพลิเคชันนี้ทำงานโดยอัตโนมัติหลังจากแล็ปท็อปเริ่มทำงาน ดังนั้นฉันจึงเตรียมไฟล์สคริปต์และค้นหาวิธีการส่งรหัสผ่านไปยังสคริปต์ หลังจากที่ได้อ่านบทความบางฉันตัดสินใจที่จะอนุญาตให้เข้าถึง USB สำหรับผู้ใช้ของฉันโดยเพิ่มdialoutกลุ่ม: sudo adduser gadu dialout หลังจากรีบูตเครื่องฉันสามารถเริ่มต้นแอปพลิเคชันของฉันได้โดยพิมพ์เพียง: ./gadumaster สิ่งนี้ยอดเยี่ยม แต่ฉันต้องการวิธีเปิดใช้งานฟังก์ชั่นรีบูต () ฉันประหลาดใจเมื่อพบว่าคำสั่งต่อไปนี้ไม่ทำงานอีกต่อไป: sudo ./gadumaster ใช่การใช้งานแอพพลิเคชั่นด้วยsudoทำให้ฉันเกิดข้อผิดพลาด "ปฏิเสธสิทธิ์" เมื่อเชื่อมต่อกับ USB! ทราบว่าไม่มี sudo มันใช้งานได้! พยายามลบผู้ใช้ของฉันออกจากกลุ่มการโทรออก: sudo deluser gadu …

2
Ubuntu เทียบเท่ากับ CentOS สำเร็จ / ล้มเหลว
บริการจำนวนมากใน CentOS มีลักษณะเช่นนี้ (ยกเว้นสีเขียวและสีแดงตามลำดับ): $ sudo service blah start Starting blah: [ OK ] $ sudo service notrunning stop Stopping notrunning: [FAILED] นี้เกิดขึ้นเพราะ/etc/init.dสคริปต์ใช้สคริปต์สาธารณูปโภคใน/etc/rc.d/init.d/functionsที่เรียกว่าและsuccess failureนี่เป็นตัวอย่างข้อมูลจาก/etc/init.d/sshdใน CentOS: echo -n $"Starting $prog: " $SSHD $OPTIONS && success || failure คำถามของฉันคือ: มีอูบุนตูที่เทียบเท่าหรือไม่ ฉันสามารถคัดลอกสคริปต์ไปได้ แต่มันมีความซับซ้อนมากกว่าที่คุณคิดและทำไมต้องคิดค้นวงล้อใหม่หากฉันไม่ต้องทำ

2
มีวิธีที่เร็วกว่าในการตรวจสอบว่ามีการใช้งานไฟล์หรือไม่?
ฉันกำลังมองหาฟังก์ชันบรรทัดคำสั่งหรือฟังก์ชั่น c ที่จะแจ้งให้ฉันทราบว่าไฟล์เปิด / ใช้งานโดยบางสิ่ง lsofและfuserบอกสิ่งนี้ แต่พวกเขาให้ข้อมูลอื่น ๆ จำนวนมากซึ่งส่งผลให้ใช้เวลาถึง 300ms ในบางสถานการณ์ (เช่นเมื่อฉันใช้รหัสนี้ใน MAC OS X ฉันกำลังพัฒนาสำหรับ Linux และ OS X) (ฉันมีหน้าต่าง วิธีแก้ปัญหาที่ใช้เวลา 5 มิลลิวินาทีดังนั้นฉันจึงพยายามค้นหาบางสิ่งใน Unix ที่รวดเร็วมากและเพิ่งคืนค่าจริงหรือเท็จหากมีการใช้ไฟล์)

1
วิธีเปิดหน้าต่าง & แท็บเทอร์มินัล, ssh และ sudo su โดยอัตโนมัติ?
เมื่อฉันเริ่มต้นวันใหม่หน้าคอมพิวเตอร์ก่อนอื่นฉันต้องทำดังนี้: ในพื้นที่ทำงาน 1: เปิดหน้าต่างเทอร์มินัลใหม่ssh loginserverจากนั้นssh serverA1และsudo su account00 เปิดแท็บเทอร์มินัลใหม่ssh loginserverจากนั้นssh serverA2และsudo su account00 เปิดแท็บเทอร์มินัลใหม่ssh loginserverจากนั้นssh serverA3และsudo su account00 ในพื้นที่ทำงาน 2: เปิดหน้าต่างเทอร์มินัลใหม่ 1 ssh loginserverจากนั้นssh serverB1และsudo su account00 เปิดแท็บเทอร์มินัลใหม่ssh loginserverจากนั้นssh serverB2และsudo su account00 เปิดแท็บเทอร์มินัลใหม่ssh loginserverจากนั้นssh serverB3และsudo su account00 ในพื้นที่ทำงาน 3: ฯลฯ ... มีวิธีทำให้กระบวนการทั้งหมดเป็นแบบอัตโนมัติหรือไม่เช่นมีสคริปต์ที่เปิดแต่ละหน้าต่างเทอร์มินัลในพื้นที่ทำงานของตนเองแท็บเทอร์มินัลทั้งหมดในแต่ละหน้าต่างและคำสั่งssh/ sudo suคำสั่งที่เกี่ยวข้องทั้งหมดหรือไม่ ถ้าไม่ฉันจะทำให้ส่วนใดเป็นอัตโนมัติได้บ้าง

2
คำสั่งบรรทัดคำสั่งเพื่อรีเฟรชเดสก์ท็อป GUI เช่นเมื่อกด F5
มีคำสั่งให้รีเฟรชไอคอนเดสก์ท็อปหรือไม่ (เหมือนกับปุ่ม F5) ฉันต้องการสิ่งนี้เพราะในแอปพลิเคชั่นเริ่มต้นฉันตั้งคำสั่งเพื่อติดตั้งพาร์ติชั่นสำรองของฉันและฉันได้สร้างลิงค์เดสก์ท็อปไปยังบางไดเรกทอรีที่นั่น ปัญหาคือว่าไอคอนไม่รีเฟรชเมื่อฉันเข้าสู่ระบบเว้นแต่ฉันกด F5 ฉันต้องการที่จะนำคำสั่งในแอปพลิเคชันเริ่มต้นให้ทำ (โปรดทราบว่าฉันไม่ต้องการรีสตาร์ทเชลล์ GNOME หรือ Unity อย่างที่พวกเขาพูดที่นี่ฉันแค่ต้องการคำสั่งให้ทำสิ่งที่ F5 ทำ)

2
ทำไมฉันถึงได้ผลลัพธ์ที่แตกต่างในกรณีของ sh และ bash?
ฉันมีสคริปต์ง่ายๆดังต่อไปนี้: #!/bin/bash echo "Bash version ${BASH_VERSION}..." for i in {1..99..2} do echo $i done เอาต์พุตในกรณีที่ฉันรันด้วยsh file.sh: Bash version ... {1..99..2} เอาต์พุตในกรณีที่ฉันรันด้วยbash file.sh: Bash version 4.2.25(1)-release... 1 3 5 . . . 99 ฉันมีคำถามสองข้อ: ถ้าฉันเขียนบรรทัด shabang ที่ระบุเชลล์มันไม่ควรรันด้วยการทุบตีว่าฉันใช้sh file.shหรือbash file.shไม่? ฉันเข้าใจว่า$BASH_VERSIONsh ไม่รู้จัก แต่ปัญหาสำหรับลูปคืออะไร ทำไมไม่พิมพ์ตัวเลข?

1
วิธีเรียกใช้งานคำสั่งเทอร์มินัลทุกครั้งที่หน้าต่าง firefox ปิด
ฉันต้องการดำเนินการนี้: rm -rf ~/.wine-pipelight/*; rm -rf ~/.wine-pipelight/./.*; cp -a ~/viewright_backup/. ~/.wine-pipelight ทุกครั้งที่หน้าต่าง Firefox ปิด แต่ไม่จำเป็นเมื่อปิดหน้าต่างทั้งหมด แต่ปิดทุกหน้าต่างที่ปิด ตัวอย่างเช่นถ้าฉันมีหน้าต่าง Firefox หนึ่งหน้าต่างและหน้าต่างป๊อปอัป Firefox หนึ่งหน้าต่าง ถ้าฉันปิดหน้าต่างอย่างน้อยหนึ่งหน้าต่างฉันต้องการรันคำสั่งนี้ เป็นไปได้ไหม ขอบคุณ!

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