Portál AbcLinuxu, 10. května 2025 13:28
Řešení dotazu:
Máme skript /usr/bin/prompt: #!/bin/bash h=$(date +%H) if [ $h -le 3 ]; then echo "Ahoj" elif [ $h -le 7 ]; then echo "Dobre rano" elif [ $h -le 11 ]; then echo "Dobre dopoledne" elif [ $h -le 13 ]; then echo "Dobre poledne" elif [ $h -le 17 ]; then echo "Dobre odpoledne" elif [ $h -le 23 ]; then echo "Dobry vecer" else echo "Dobrou noc" fi
Nastavte skriptu příslušná práva a poté ho zaneste do proměnné PS1: $ export PS1="$(/usr/bin/prompt)> " Dobry vecer>Odkaz: Linux v příkazech - vylaďte si Bash!
#!/bin/bash h=$(pwd) if [ $h != '/' ]; then echo -n "/"; fi
[petr@nt ~]$ export PS1='[\u@\h \w$(/home/petr/prompt)] ' [petr@nt ~/] cd /etc [petr@nt /etc/] cd /home [petr@nt /home/] cd / [petr@nt /]Myslím že toto dělá přesně co chceš
h=$(pwd) if [ $h != '/' ]; then echo -n "/"; fi
if [ "`pwd`" != '/' ]; then echo -n "/"; fi
Pak by jsi musel tam kde nastavuješ proměnnou PS1 testovat zda skript existuje a když ne nastavit PS1 bez použití skriptu.Jasné, už blbnu - ptám se na úplné základy... Mimochodem, v mém případě jde spíš o víc počítačů
DíkyTak ještě takto: PS1='[\u@\h \w$(if [ "`pwd`" != '/' ]; then echo -n "/"; fi)] ' ovšem co to udělá jak jako shell bude něco jiného jak bash netuším.. Raději bych sice, kdyby to šlo přímo (bez přítomnosti skriptu - když chybí, tak to zařve), ale i tak velká spokojenost
.
${PWD%/}/
PROMPT_COMMAND
PS1="" PROMPT_COMMAND='echo -n "${USER} ${PWD/#$HOME/~}"; if [ "$PWD" != "/" ];then echo -n "/";fi;echo -ne " \$"'
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.