Linux bash a environment
Měl bych tu takovej problémek. Mám bash skript, kterým si zapisuji do /etc/environment
například
sed -i '$ a\FS_ORACLE_CLIENT_PATH=/srv/oracle/' /etc/environment;
ovšem po vykonání těchto příkazů musím celý PC resetnout. nejde to nějak obejít? Jde mi o to, aby tyto proměnné byly dostupné ihned a neustále i po resetu
Další problém co mám je if.
.....
echo '==============================';
if grep 127.0.0.2 /etc/hosts
then
echo "HOSTS soubor je v poradku";
else
echo "HOSTS soubor je jiz v poradku";
sed -i "$ a\ 127.0.0.2 `hostname`.`dnsdomainname` `hostname`" /etc/hosts;
fi
echo '==============================';
echo 'Spoustim prvotni nastaveni';
echo '==============================';
#sh ./config.sh;
.....
nevím proč, ale bez středníků mi to nic neudělá a s nima to funguje. Ovšem pokud je v tom skriptu i tento IF tak mi to zahlásí error ("syntax error: unexpected end of file") a nepokračuje.
1. Stačí, keď sa odhlásiš a prihlásiš.
Každý proces má svoje premenné prostredia a tie sa pri spustení nového procesu dedia z rodičovského procesu. Ak ti stačí zmeniť premenné prostredia pre aktuálny proces, tak použi príkaz export. Podprocesy, ktoré následne tento proces vytvorí, budú mať potom tiež správne nastavené premenné prostredia.
Napr. pre nastavenie premenných prostredia z /etc/environment:
2. Za if (tesne pred then) má byť bodkočiarka.
co se týče bodu 1, nezkusil jsem ještě
ad2)
přidal jsem středník a stále stejný problém
ono by mělo stačít ten /etc/environment spustit
edit: ten if je špatně, celý grep musíš dát do hranatozávorkové klauzule a přidat pravou stranu, nebo ještě lépe provést grep na samostatné řádce a v ifu vyhodnotit errorlevel proměnnou ($?).
prosím šlo by to česky? :)
chápu to nějak takto
if [ grep 127.0.0.2 /etc/hosts];
ale nechápu tu pravou stranu apod...
a co se týká environment, tak spustit to nestaci.. nyni jsem to zkusil
otázka co v něm je, některé distribuce používají bashovský skript, v jiných jsou jen hodnoty, v takovém případě se musíš kouknout a napsat si skript sám, nebo spustit ten skript/příkaz, který ten environment projede.
ad if:
já bych to udělal úplně jednoduše a čistě:
Jinak máš tam chybu, před pravou hranzávorkou musí být mezera.
ad1)
v /etc/environment je toto
a podobné
ad2) děkuji, hned zkusím
tak if stále nejde :(
ad 2:
Mně tohle funguje jak víno (otestováno jak s 127.0.0.1, tak .0.2 - tedy obě varianty našel/nenašel). Co to máš za systém?
edit:
ad 1:
to je nějaký orákl? Pak by mělo pro akceptaci nových nastavení postačovat restart dané služby nebo služeb.
ad1)
Jedná se o skript pomocí kterého nainstalujeme celej náš produkt ve firmě.
Potřebuji nastavit několik proměnných, ale tak aby byly dostupné i po resetu.
jinak vše viz příloha
proč tam máš ty středníky?
edit:
jinak tohle ti fungovat nemůže:
dokud tam nenastavíš jiný oddělovač (přesněji řečeno musíš vyhodit mezeru a tabulátor jako oddělovač, jinak bude každé slovo jednou hodnotou v cyklu, ty ovšem potřebuješ jako oddělovač newline, tedy
udělá ten trik
edit2: jinak já spíše preferuju
pokud je tam nedám, tak to celé nejede.. nechápu... na centosu to jde bez střevníků, ale na Suse enterprise to jde jen se střevníkama
v čem to edituješ?
na windows v notepad++ a na suse ve vimu
no a to jen IMHO ten problém.
podle mě tam máš blbě cr+lf
takže schválně zkus pomazat konce řádek (v linuxu) a znovu to poentrovat.
jinak osobně doporučuju spíše nano nebo mcedit
edit: nojo, je tam crlf, správně má být jen lf.
takže v linuxu editovat... ok, ono asi budou hrát ty střevníky...
v com konkretne je nano lepsie?
podla mna sa Vimu vyrovna maloktory textovy editor ... ak vobec nejaky :D
mně osobně vyhovují co nejjednodušší editory, protože přecházím mezi různými prostředími. A ač s vi(m) pracovat můžu, nesedí mi.
Za zcela ideální editor považuju mcedit. V podstatě jej ovládám stejně, jako jsem se naučil před 20 lety ovládat ncedit, mám to prostě v krvi
Souhlasím s pořadím editorů vi je možná mocný nástroj, když se s tím člověk několik hodin učí a pak dalších několik hodin to dostává do paže. s vi se dají na tři zmáčknutí kláves udělat věci, o kterých se jiným editorům ani nezdá. Ale na občasnou editaci je to za trest. Ta filozofie je natolik odlišná, že neznalý člověk to zabalí rovnou a občasný uživatel (toho programu) skřípe zuby, jak se sakra dělá to a tamto.
abych pravdu řekl, tak na vi(m) jsem si zvykl, ale u toho nano tu teď nadávám :)
Len niekolko hodin? Na Vimku je stale co objavovat a denne sa clovek dozvie nieco nove.
Osobne ho pouzivam aj na Macu aj na Windowse samozrejme nie priamo ten konzolovy ale gVim a MacVim. A pride mi to 100x lepsie ako tie parodie aka PSPad a Notepad++.
Ale chapem, ze pre niekoho, kto otvori denne mozno 2 subory a upravi v nich 2 vety postaci notepad.
"I'm too sexy to remember vim commands"
Nestaci len niekam zapisat to co by malo byt v ENV nastavene. System sa nepozera do ext.suboru v nejakych intervaloch aby odtial vycital to, co si tam zapisal.
Nastavenie vyhladavacich ceist sa robi napr prikazom: "export PATH", kde do PATH das vsetky cesty v ktorych ma system nieco hladat.