Re: [ssfr] Re: [SSFR] Partage de fonctions ...

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


Ma priorite est la compatibilite, la plupart des fonctions que j'utilise
marche sous ksh, sh, bash et meme ash, le shell de busybox.
Personnellement, je n'ai encore jamais vu zsh installe dans un
environnement de production et jusque recemment les GNU utils ou Perl
etaient rares, j'ai donc appris a faire sans, au prix de quelques pipes
et fonctions plus ou moins simples.
Sur une nouvelle machine, je copie mon .bashrc, .profile et mon ~/bin
et j'ai mon environnement de travail. Bien sur, j'ai un shell script
pour automatiser tout ca...

On 08/04/08 ? ? 14:38, Marc Chantreux wrote:
> On Thu, Apr 03, 2008 at 06:57:25PM -0400, Stephane Billiart wrote:
> > pps() { ps -Af | grep -w $LOGNAME | grep -v grep; }
> 
> ps h -u $USER  ? 
OK mais necessite procps, ne marche pas avec le ps de busybox.

> 
> > # ps utilisateurs (tous sauf root)
> > psu() { ps -Af | grep -v root; }
> 
> ps h -u root ?
non, je veux la liste des process non root. Philippe Jacquot a donne une
meilleure solution sans pipe: ps -Nfu root

> 
> > psgrep() {
> 
> man pgrep ? 
La aussi, Philippe a donne une solution avec 2 processus au lieu des 3 de
mon pipe: ps -fwwp $(pgrep -d, -x $1)
Je dois avouer que je n'ai decouvert pgrep, pkill, pidof que tres recemment,
mes fonctions me permettent de m'en passer, d'ailleurs pgrep dans mon PATH
est une implementation de grep en Perl et masque /usr/bin/pgrep...

> 
> > lls() {
> >     ls -ogrA --time-style="+" $* | awk -v min=${min:-4} '(NF>3)&&/^[^d]/{s=$3/1024;$1="";$2="";$3=""; if (s>min) printf "%12.2f\t%s\n", s, $0}' | sort -n
> 
> c'est typiquement le genre de ligne que je ne m'amuse meme plus a lire! 
> pourquoi faut-il toujours rendre nos scripts shell illisibles?
c'est pas tres lisible mais c'est une fonction tres pratique.

> 
> > llf() { ls -l $* | egrep "^-"; }
>
> tu vas adorer zsh setopt extendedglob
> ls -l */*(^.)
>
> > manloc() {
> >     for f; do
> >             case $f in
> >             *.pm|*.pl) pod2man $f | nroff -man | $PAGER;;
>
> hmmm ... ca laisse des fichiers temporaires dans le rep, ca, non?
>
> > whichall() {
>
> en zsh : whence -am
>
> > # execute une commande sur une liste de commandes
> > # wcmd cmd arg1 arg2...
> > wcmd() {
>
> tu peux expliquer ?
je n'utilise pas wcmd directement mais via wll, wfile, wm, wvi qui me
permettent de executer des commandes directement sur les fichiers du
PATH par exemple:

arrakis:~ wll mv mmv
-rwxr-xr-x 1 root 64320 Sep 29  2007 /bin/mv*
-rwxr-xr-x 1 stephane 500 Nov  5  2005 /home/stephane/bin/mmv*
arrakis:~ wfile mv mmv
/bin/mv: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), stripped
/home/stephane/bin/mmv: POSIX shell script text executable
arrakis:~ wvi mmv
<edite le script>

--
Stéphane Billiart                      http://perso.orange.fr/billiart/


---


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/