Puncte:1

Cum schimb promptul de comandă folosind un script bash?

drapel do

Versiunea mea Ubuntu este Ubuntu 21.04. Încerc să-mi schimb promptul de comandă cu un script pe care l-am făcut, numit înregistrare.sh. Iată codul:

#!/bin/bash  

echo -n "înregistrați? da (1)/nu (0)"  
citeste VAR  

dacă [ $VAR -eq 1 ]; atunci  
       PS1="\[\033[38;5;2m\]Cartofi-periculoși@\h\[$(tput sgr0)\]:\[$(tput sgr0)\]\[\033[38;5;4m \]\w\[$(tput sgr0)\]: \[$(tput sgr0)\]"  
altfel  
       PS1="\[\033[38;5;2m\]\u@\h\[$(tput sgr0)\]:\[$(tput sgr0)\]\[\033[38;5;4m\ ]\w\[$(tput sgr0)\]: \[$(tput sgr0)\]"  
fi

Mă aștept ca promptul meu de comandă să se schimbe de la:

sterling@The-beast~:

la

Hazardous-potato@The-beast~:

când rulez scriptul de mai sus, dar, în schimb, rămâne la fel.

drapel ar
Când modificați o variabilă într-un fișier bash, aceasta se schimbă doar pe durata fișierului bash. Nu are niciun efect odată ce fișierul a rulat.
Sterling Russell avatar
drapel do
există vreo modalitate de a-l rula până când terminalul se închide?
drapel hr
Pentru a avea efect în shell-ul interactiv părinte, ar trebui să *sursă* fișierul, mai degrabă decât să-l rulați
Sterling Russell avatar
drapel do
cum să fac asta?
drapel ar
@steeldriver acesta este răspunsul! prefix scriptul bash cu `sursă`. Am mai văzut `sursa` folosită înainte, acum îmi este clar ce face.
Puncte:0
drapel do

Am obținut fișierul și am condus bash în fișier pentru a-l executa când se deschide terminalul. L-am găsit la sfârșitul .bashrc fişier:

. /home/sterling/recording.sh
drapel ar
Nu trebuie să-l puneți în fișierul `.bashrc` dacă nu doriți să îl rulați de fiecare dată când deschideți un terminal. Îl puteți rula când doriți în orice terminal tastând `. ./înregistrare.sh`. Observați două puncte separate printr-un spațiu în față înainte de `/`. Alternativ, puteți tasta `source ./recording.sh`.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.