Wednesday, July 13, 2011

tcsh pour les experts...

Bin moi, mon script de prédilection sous Linux, c'est TCSH. C'est ainsi depuis qu'on me l'a "imposé" pour un TP (base de données ou NS2 ... va savoir). Sous SuSE8.2, ça se passait pas trop mal: bonne auto-complétion, coloration, aliases sympa ... Sous ubuntu, en revanche, c'est quasiment le minimex, au point que j'ai longtemps remplacé les fichiers /etc/profile.d/complete.tcsh et autres d'une vieille SuSE sur mes ubuntu fraîchement installé.

Mais ça aussi, j'ai fini par en avoir marre, donc maintenant, j'ai "fait mienne" toute la super-logique en réutilisant le fichier ".csh.expert" prévu pour permettre à un guru du shell (ou à ses sbires, comme moi :-) de contourner les préférences du sysop. Bin pas de bol, même là, les gars d'Ubuntu ont manqué à leurs devoirs. Alors du coup,


diff -burN /etc/csh.cshrc "/MY/etc/csh.cshrc"@@ -1,4 +1,11 @@
 # /etc/csh.cshrc: system-wide .cshrc file for csh(1) and tcsh(1)
+# Expert mode: if we find $HOME/.csh.expert we skip our settings
+# used for interactive sessions and read in the expert file.
+#
+if (-r $HOME/.csh.expert) then
+    source $HOME/.csh.expert
+        goto end
+endif

 if ($?tcsh && $?prompt) then

@@ -14,3 +21,10 @@
        set prompt = "%U%m%u:%B%~%b%# "

 endif
+
+end:
+onintr
+#
+# csh.cshrc end here
+#
+if ( -r $HOME/.tcshrc ) source $HOME/.tcshrc

Me voilà un peu plus chez moi dans cette ré-installation du Lynx sur mon disque de 2To :P

I've never done anything very fancy with MS.bat scripts, nor with Unix scripts while I was a student. I started really understanding what I was doing in scripting with TCSH, in my master years as a student, while running SuSE8.2. It was quite a good system to have TCSH on, with auto-completion, coloring, aliases and all. We don't get half of that on Ubuntu, to the point I usually tweaked /etc/profile.d on any UBuntu I installed.

But at some point, you grow tired of fixing that on every system you clone your home directory. And why would you when it turns out .csh.expert in your home directory allows you to override the sysop's preferences...

1 comment:

Cyril said...

Bah, tu n'as qu'à passer à zsh, quand tu auras fini de migrer de emacs vers vim ;-)

P.S. : En Belgique, on dit maintenant RIS (Revenu d'intégration sociale).