Na co dát pozor při psaní skriptů:
tcsh:
setenv VARIABLE value
bash:
export VARIABLE=value
tcsh:
( command > x.out ) >& x.err
bash:
command > x.out 2> x.err
Konstrukce, které řídí běh programu, mají v obou shellech odlišnou syntaxi.
tcsh:
foreach i (apple pear orange) echo cp ${i}s.txt my_$i.txt end if (-f file.txt) then echo 'Oh yes!' endif
bash:
for i in apple pear orange do echo cp ${i}s.txt my_$i.txt done if [[ -f file.txt ]] ; then echo 'Oh yes!' fi
alias ls='ls -F –color=au'
).inputrc
si na nějakou klávesu nabinduješ history-search-backward
, myslím, že defaultně to nikde není9:05 zen:/ha/home/zeman>
. V tcsh mi trvalo několik týdnů, než jsem přišel na to, jak to udělat, ale od té doby už to spokojeně používám přes 10 let. V bashi to chci určitě stejně.PS1
, zřejmě na něco jako “\A ${HOSTNAME%%.*}:\w>”
pwd
se chová jinak v tcsh a jinak v bashi. V tcsh se dozvím skutečnou cestu (tj. všelijaké symbolické linky jsou odmaskované), například vidím, že /home/zeman
ve skutečnosti vede na /ha/home/zeman
. Pwd v bashi mi ale pořád říká /home/zeman
. Nejraději bych uměl na požádání vyvolat kterékoli z těchto chování, ale rozhodně bych rád měl nějaký způsob, jak skutečnou cestu zjistit.readlink -f