Score:1

ฉันจะเปลี่ยนพรอมต์คำสั่งโดยใช้สคริปต์ทุบตีได้อย่างไร

ธง do

เวอร์ชัน Ubuntu ของฉันคือ Ubuntu 21.04 ฉันกำลังพยายามเปลี่ยนพรอมต์คำสั่งด้วยสคริปต์ที่ฉันทำขึ้น เรียกว่า การบันทึก.sh. นี่คือรหัส:

#!/bin/bash  

echo -n "คุณกำลังบันทึกใช่ (1)/ไม่ (0)"  
อ่านวีเออาร์  

ถ้า [ $VAR -eq 1 ]; แล้ว  
       PS1="\[\033[38;5;2m\]Hazardous-potato@\h\[$(tput sgr0)\]:\[$(tput sgr0)\]\[\033[38;5;4m \]\w\[$(tput sgr0)\]: \[$(tput sgr0)\]"  
อื่น  
       PS1="\[\033[38;5;2m\]\u@\h\[$(tput sgr0)\]:\[$(tput sgr0)\]\[\033[38;5;4m\ ]\w\[$(tput sgr0)\]: \[$(tput sgr0)\]"  
ไฟ

ฉันคาดว่าพรอมต์คำสั่งของฉันจะเปลี่ยนจาก:

สเตอร์ลิง@The-beast~:

ถึง

Hazardous-potato@The-beast~:

เมื่อฉันรันสคริปต์ด้านบน แต่มันกลับเหมือนเดิม

ar flag
เมื่อคุณเปลี่ยนตัวแปรในไฟล์ bash ตัวแปรนั้นจะเปลี่ยนตามระยะเวลาของไฟล์ bash เท่านั้น ไม่มีผลเมื่อไฟล์ทำงานแล้ว
Sterling Russell avatar
do flag
มีวิธีเรียกใช้จนกว่าเทอร์มินัลจะปิดหรือไม่
hr flag
เพื่อให้มีผลในเชลล์แบบโต้ตอบพาเรนต์ คุณจะต้อง *แหล่งที่มา* ไฟล์แทนที่จะเรียกใช้
Sterling Russell avatar
do flag
ฉันจะทำอย่างไร
ar flag
@steeldriver นั่นคือคำตอบ! นำหน้าสคริปต์ทุบตีด้วย `source` ฉันเคยเห็น `แหล่งที่มา` ใช้มาก่อน ตอนนี้ฉันเข้าใจแล้วว่าใช้ทำอะไร
Score:0
ธง do

ฉันจัดหาไฟล์และนำ bash เข้าไปในไฟล์เพื่อดำเนินการเมื่อเทอร์มินัลเปิดขึ้น ฉันมามันในตอนท้ายของ .bashrc ไฟล์:

. /home/sterling/recording.sh
ar flag
คุณไม่จำเป็นต้องใส่ไว้ในไฟล์ `.bashrc` หากคุณไม่ต้องการเรียกใช้ทุกครั้งที่คุณเปิดเทอร์มินัล คุณสามารถเรียกใช้งานได้เมื่อต้องการในเทอร์มินัลใดๆ โดยพิมพ์ ` ./recording.sh`. สังเกตจุดสองจุดที่คั่นด้วยช่องว่างด้านหน้าก่อนเครื่องหมาย `/` อีกวิธีหนึ่ง คุณสามารถพิมพ์ `source ./recording.sh`

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา