Survivre avec Csh

SYNTAXE ?

#! /bin/csh
# commentaires
instruction
instruction ; instruction
"substitution" des variables entre les double quote
'pas de substitution' des variables entre les quote
`exécute` la commande entre les ``

VARIABLES

set i = 2Affectation
set chaine = "de caracteres"Affectation
$i ou ${i}Valeur de i
echo $iAffichage
set i = (a b c d)Affectation de tableau
$i[1] ou ${i[1]}1ère valeur du tableau
$#i ou ${#i}nombre d'éléments du tableau
$0Nom du shell ou du shell script
$1 ou $argv[1]1er argument
$2 ou $argv[2]2eme argument
$*Tous les paramètres du script
$#argvNombre de paramètres du script
$? ou $statusStatus de l'opération précédente
$$pid du processus courant

Lecture sur l'entrée standard

set var = $<

TEST

avec IF

Présence de fichiers exe ?
if ( condition ) then
  instr
[ else if ( condition ) then instr ]
...
[ else instr ]
endif
set j = `ls *.html`
if ( $#j > 0 ) then
  echo "pas de html"
else
  echo "html !"
endif

avec SWITCH

switch ( var )
  case val1 :
    instr
    [breaksw]
  case val2 :
    instr
    [breaksw]
  default:
    instr
endsw
set a = 3
switch ( $a )
  case 2:
    echo 2
    breaksw
  case 3:
    echo 3
endsw

EXPRESSIONS CONDITIONNELLES

Expressions Vrai si
-e fichier fichier existe
-f fichier fichier existe et est un fichier
-d fichier fichier existe et est un répertoire
-r fichier fichier existe et est en lecture
-w fichier fichier existe et est modifiable
-x fichier fichier existe et est exécutable
string1 == string2 string1 et string2 sont égales
string1 != string2 string1 et string2 sont différents
( ! expression ) expression est faux
( expression1 && expression2 ) expression1 et expression2 sont vrai
( expression1 || expression2 ) expression1 ou expression2 sont vrai
nb1 == nb2 nb1 et nb2 sont égaux
(nb1 != nb2 && nb3 <= nb4 || nb5 >= nb6) if ((3!=4 && 7<=8 && 15>=5)); then echo cool; fi

BOUCLE FOR

avec liste

nettoyage de tous les fichiers~
foreach var ( liste )
  instr
[ break ]
[ continue ]
end
foreach a (`find . | grep '~$'`) ;
  rm $a;
end

BOUCLE WHILE

while ( condition )
  instr
[ break ]
[ continue ]
end

home up envoyer un mail

Debian Get FireFox Valid HTML 4.01! Valid CSS!