Takze si zkusim odpovedet sam. Nevim jestli se vam to stava, ale ja vzdy neco resim. Treba i nekolik dni nad tim premyslim a kdyz uz si myslim, ze jsem v koncich, zalozim novy thread a do pul hodiny me to trkne :-/. Jen jsem chtel teda rict, ze pokud spustite v shellu skript tak udajne je zpracovan v podrizenem shellu (a to uz bud zadanem v hlavicce (napr. #!bin/sh), nebo automaticky vybranem pokud hlavicku nezadate) a z teto operace v podrizenem shellu se neprojevi zadna zmena, typu nastaveni promennych, exportovanych promennych, zmeny umask atd. atd., v shellu ze ktereho jsme skript pustili. Zpracovani .bash_profile nese tyto priznaky i kdyz jsem si myslel, ze to bash jen cte a vykonava na aktualnim shellu (klasicky skript je pro me hlavne symbolem prava x). Pokud chceme ve skriptu zmenit hodnoty naseho shellu, ze ktereho jsme skript pustili muzeme dat tyto prikazy zvlast do souboru a tento soubor vlozit do skriptu syntaxi:
. soubor
. Tohle je i v .bash_profile
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Tudiz pokud chceme pri startu konzole neco nastavovat musime vse zapisovat do .bashrc (nebo jineho souboru takto vlozeneho). Velice v .bash_profile matou tyto prikazy
umask 022
if [ -d ~/bin ]; then
PATH=$PATH:~/bin
fi
Jsou tam defaultne i kdyz se neprovedou
. Myslel jsem si ze tam jsou proto, protoze se vykonavaji
.No ale tohle vsechno plati pro konzoli. Mozna ze pri prihlaseni do systemu bez X-ek by se to chovalo spravne. Nezkousel jsem. Snad jsem si to vylozil spravne. Upominky a korektury vitany.