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

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

1
ฉันจะลบชื่อคอมพิวเตอร์จากพรอมต์บรรทัดคำสั่งได้อย่างไร
มีวิธีใดที่จะลบชื่อคอมพิวเตอร์ของฉันจากพรอมต์บรรทัดคำสั่งหรือไม่ ฉันต้องการให้พรอมต์มีลักษณะดังนี้: kasiya:~$ แทนสิ่งนี้: kasiya@kasiya-pc:~$
10 bash  prompt  ps1 

2
เอาต์พุตที่น้อยลงจะไม่แสดงเอาต์พุตในเทอร์มินัลหลังจากเลิกใช้
ก่อนหน้านี้ถ้าฉันวิ่งsomething | lessแล้วกดqมันจะใช้เพื่อส่งฉันกลับไปที่พรอมต์ด้วยผลลัพธ์ของการlessมองเห็นที่ยังคงอยู่ $ seq 1 100 | less 1 2 3 4 :q $ <prompt here. I can still see the output of less> แต่ตอนนี้หลังจากที่ฉันติดตั้ง Zsh (ด้วย oh-my-zsh มันไม่ทำงานด้วยการทุบตีเกินไป) เทอร์มินัลจะมีลักษณะดังนี้: $ seq 1 100 | less <less shows up, I press :q and it is cleared> $ <prompt here. …
10 bash  zsh  less 

5
วิธีรับบรรทัดที่ยาวที่สุดจากไฟล์
ฉันสนใจที่จะหาหมายเลขบรรทัดของบรรทัดที่ยาวที่สุดจากไฟล์ ตัวอย่างเช่นถ้าฉันมีไฟล์ที่มีเนื้อหาต่อไปนี้: lalala tatatata abracadabra mu mu mu ฉันจะเขียนสคริปต์ทุบตีที่จะให้ผลลัพธ์เช่นนี้ได้3 -> abracadabraอย่างไร:

2
/ bin / sh เป็นลิงก์สัญลักษณ์ที่ไม่ได้ชี้ไปที่ / bin / bash [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับถาม Ubuntu ปิดให้บริการใน6 ปีที่ผ่านมา ฉันกำลังติดตั้งสภาพแวดล้อมซอฟต์แวร์ของคณะกรรมการการทดสอบ Armadeus APF27DEV และเมื่อฉันลองmakeคำสั่งฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: On your system /bin/sh is a symbolic link that doesn't point to /bin/bash --> please correct that ! lrwxrwxrwx 1 root root 4 2013-08-03 20:57 /bin/sh -> dash เพื่อแก้ไขข้อผิดพลาดนี้ฉันพยายามเปลี่ยน shebangs ทั้งหมดจาก#!/bin/shเป็น#!/bin/bashและฉันได้ลองบรรทัดคำสั่งต่อไปนี้แล้ว: ln -s /bin/bash /bin/sh แต่สิ่งที่ฉันทำไม่ได้ช่วยแก้ปัญหา ใครช่วยกรุณาช่วยฉันด้วยปัญหานี้

4
วิธีรันคำสั่ง sudo ด้วยคำสั่ง Expect & send ใน bash script
ใครช่วยให้ฉันรู้วิธีการดำเนินการsudoคำสั่งด้วยexpect? ฉันลองสิ่งต่อไปนี้ แต่มันไม่ทำงาน ใครช่วยแนะนำฉันหน่อยได้ไหม set login "sasuke" set addr "hostname" set pw "mypasswd" spawn ssh $login@$addr expect "$login@$addr\'s password:" send "$pw\r" expect "#" send "output=$(sudo virsh list --all | awk "/running/{print \$2}" | tail -2); sudo virsh dominfo $output" expect "password:" send "$pw\r" expect "#" เมื่อฉันลองสคริปต์ด้านล่างมันทำงานโดยไม่มีข้อผิดพลาด แต่ฉันไม่ได้รับผลลัพธ์ นี่คือสคริปต์และเอาต์พุตเมื่อเรียกใช้งาน ฉันทำผิดที่นี่ที่ไหน set …
10 bash  scripts  sudo 



1
Bash รอความสำเร็จในการ ping
ฉันกำลังเขียนสคริปต์ที่รีบูตเซิร์ฟเวอร์ต่าง ๆ หลังจากรีบูตฉันต้องการ "รอ" จนกว่าเซิร์ฟเวอร์ทั้งหมดจะกลับมาออนไลน์ (เพื่อให้สิ่งที่เรียบง่ายฉันกำหนดให้ฉันออนไลน์ = pingable) ดังนั้นสำหรับแต่ละเซิร์ฟเวอร์ฉันทำ ServerXY_W=1 echo -n "waiting for ServerXY ..." while (($ServerXY_W == 1)) do if ping -c 1 -w 0.2 192.168.123.123 &> /dev/null then echo "ServerXY is back online!" ServerXY_W=0 else echo -n "." fi done สิ่งที่ฉันคาดหวัง (และชอบ) จะเป็นเช่นเอาท์พุท waiting for ServerXY ................. …
10 bash  scripts  ping 

2
มีคำสั่งเทอร์มินัลที่เปลี่ยนขนาดหน้าต่างเทอร์มินัลหรือไม่
ฉันชอบที่จะมีเทอร์มินัลขนาดเล็กสำหรับสิ่งเล็ก ๆ (80 x 24) และเทอร์มินัลขนาดใหญ่สำหรับการแก้ไขโค้ดในกลุ่มและขนาด (120 x 38) และบางครั้งก็ใช้งานแบบเต็มหน้าจอ ไม่รู้สินะ. อย่างไรก็ตามมีคำสั่งเทอร์มินัลที่ฉันสามารถใช้เพื่อสลับขนาดหน้าต่างสำหรับเทอร์มินัลของฉันได้หรือไม่?

2
การเปลี่ยนเส้นทางเอาต์พุตคำสั่งโดยใช้ '- <<(…)'
ฉันต้องการที่จะดึงชาซัม ใช้งานได้ แต่ทุกคนสามารถอธิบายได้ว่าทำไม sed 's/^.*= //' -&lt; &lt;(openssl dgst -sha256 filename) ฉันคุ้นเคยกับ$( )โครงสร้าง แต่ไม่สามารถหาเอกสาร&lt;( )ประกอบควบคู่กับ-&lt;ซึ่งฉันคิดว่ากำลังเปลี่ยนเส้นทางไปยังsedSTDIN ฉันรู้ว่ามีวิธีง่ายกว่านี้ แต่สิ่งก่อสร้างนี้ทำให้ฉันหลง
10 bash  redirect  syntax 

2
Bash script และหนีอักขระพิเศษในรหัสผ่าน
ฉันได้อ่านคำถามมากมายที่ถามไปแล้วที่นี่ แต่อย่างใดไม่มีอะไรที่ทำงานให้ฉัน ฉันมีสคริปต์ทุบตีที่ฉันต้องส่งรหัสผ่านที่ฐานข้อมูลการถ่ายโอนข้อมูลในเครื่องระยะไกลดังนั้นมันชอบ: !/bin/sh /usr/bin/ssh -p 91899 user@remoteHost mysqldump -u db_user -p#8111*@uu( my_database | gzip -c &gt; my_database.sql.gz สิ่งนี้คือรหัสผ่านนี้มีอักขระพิเศษทุกประเภท: #8111*@uu( ถ้าฉันเรียกใช้คำสั่งดังกล่าวข้างต้นโดยตรงจะต้องใช้รหัสผ่านภายในเครื่องหมายคำพูดเดียวแล้วมันทำงาน: เช่น /usr/bin/ssh -p 91899 user@remoteHost mysqldump -u db_user -p'#8111*@uu(' my_database | gzip -c &gt; my_database.sql.gz หากไม่มีเครื่องหมายอัญประกาศเดี่ยวฉันจะได้รับข้อผิดพลาดด้วยสำหรับ '(' ที่ส่วนท้าย) ฉันพยายามที่จะหลบหนีตัวละครด้วยรหัสผ่านเช่นนี้ !/bin/sh /usr/bin/ssh -p 91899 user@remoteHost mysqldump -u db_user -p'\#8111\*\@uu(' my_database …
10 bash  scripts  password 

3
จะสร้างภาพเคลื่อนไหวการหมุนโดยใช้เชลล์สคริปต์ได้อย่างไร
ฉันกำลังมองหาสคริปต์ที่สร้างภาพเคลื่อนไหวการหมุนโดยใช้ตัวละคร/, -, และ|\ หากคุณสลับไปมาระหว่างตัวละครเหล่านี้อย่างต่อเนื่องมันควรจะมีลักษณะหมุนได้ ทำอย่างไร

3
คำสั่งให้เรียกใช้ GUI Frontend สำหรับการอัพเดท apt-get
ฉันต้องการทราบหากมีคำสั่งใด ๆ เพื่อเรียกใช้ apt-get update ใน GUI เหมือนในภาพต่อไปนี้: สิ่งที่ฉันต้องการทำคือการเขียนสคริปต์ซึ่งจะอัปเดตแหล่งซอฟต์แวร์ผ่านตัวจัดการ gui นี้ เพื่อให้ฉันสามารถทำให้ผู้ใช้เป็นมิตรมากขึ้น ฉันต้องการคำสั่งเพื่อทำสิ่งนี้ กรุณาช่วย.

2
ทำไดเรกทอรีชื่อ 0001 แทน 1 ใน bash script loop
ในสคริปต์ทุบตีต่อไปนี้ถ้า j = 0000 ฉันจะเปลี่ยนสคริปต์ทุบตีต่อไปนี้เพื่อทำให้ dirs ชื่อ 0001, 0002, ... ได้อย่างไร? จริงๆแล้วมันทำให้ dirs ชื่อ 1, 2, 3 for i in *.jpg; do let j+=1 ; mkdir $j ; done ขอบคุณ!
10 bash 

4
ฉันจะตั้งชื่อแทนเป็นเทอร์มินัลไลน์ได้อย่างไร?
ฉันต้องการตั้งค่านามแฝงgit-goเป็นเทอร์มินัลบรรทัดนี้ได้อย่างง่ายดาย: git commit -m "init "; git push; git status ดังนั้นเมื่อฉันป้อน git-go บรรทัดนี้ควรป้อน ฉันจะทำสิ่งนั้นได้อย่างไร คำตอบที่ฉันเห็นครอบคลุมเฉพาะนามแฝงของคำสั่งที่ไม่มีพารามิเตอร์ แต่ฉันต้องการตั้งค่านามแฝงเป็นเทอร์มินัลบรรทัดโดยพลการ

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