Accueil
Java Standard Edition
Java EE 5
Visual Basic .Net 2005
Visual C++ .Net 2005
Visual C# .Net 2005
Cours ASP .Net 2.0
Postgresql
Linux
Visual Studio 2008
ASP 3.0 Classique
Cours Javascript - DOM - DHTML
Cours Ajax
VBA
Assembleur
Perl
Membres
L'auteur du site
Nouveautés sur le site
Contacts
Plan du site
Exécution d'un programme
Les archives Jar
Les classes abstraites
Les interfaces
Les tableaux
La généricité
Les énumérations
Les classes internes
Classes anonymes et internes locales
E/S(1):InputStream et OutputStream
E/S(2):FileInputStream et FileOutputStream
E/S(3):Reader et Writer
E/S(4):FilterInputStream et FilterOutputStream
E/S(5):Les filtres d'octets: PrintStream
E/S(6):Les filtres d'octets: DataInputStream et DataOutputStream
E/S(7):Les filtres d'octets: BufferedInputStream et BufferedOutputStream
E/S(8):Flux de caractères: PrintWriter
E/S(9):Flux de caractères: FilterReader et FilterWriter
E/S(10):Flux de caractères: InputStreamReader, OutputStreamWriter, StreamDecoder, StreamEncoder
E/S(11):Flux de caractères: BufferedReader et BufferedWriter
E/S(12):Flux de caractères: FileReader et FileWriter
La classe String (java.lang)
Les collections: L'interface Collection(java.lang)
Les collections(2): L'interface List(java.util)
Les collections(3): AbstractCollection(java.util)
Les collections(4): AbstractList(java.util)
La bibliothèque Swing en Java
Les bases de données en Java
JDBC ( Java Database Connectivity )
Les interfaces graphiques
Les fichiers de configuration en Java
INSTALLATION JAVA EE 5, JRE 6, ECLIPSE, TOMCAT, ETC SOUS LINUX
INSTALLATION JAVA EE 5, JRE 6, ECLIPSE, TOMCAT, ETC SOUS WINDOWS
Les applications Web en java
Les filtres Java (javax.servlet.Filter)
I Généralités
I.1 Le formulaire principal
I.2 Les objets créés par Visual
I.3 Les variables références
I.4 Le garbage collector
II Créer évènements
II.1 Rappel évènements
II.2 Procédure à suivre
II.2.1 Créer son EventArgs
II.2.2 Créer EmetEvent
II.2.3 Déclarations autres
I Généralités
I.1 Applications winforms
I.2 Applications MFC
I.3 Objets managés ou pas
I.4 Objets non managés
I.5 Objets managés - handle
I.6 Le top-level ^
II Créer évènements
II.1 Rappel évènements
II.2 Procédure à suivre
II.2.1 Créer son EventArgs
II.2.2 Créer EmetEvent
II.2.3 Déclarations autres
I Généralités
I.1 Puissant et Accessible
I.2 Créer ses classes
II Créer évènements
II.1 Rappel évènements
II.2 Procédure à suivre
III Les services Windows
IV Le .net remoting
V Communication Tcp avec TcpClient et TcpListener
II.2.1 Créer son EventArgs
II.2.2 Créer EmetEvent
II.2.3 Déclarations autres
I Généralités
I.1 Un EDI formidable
I.2 Inclure C# ou VB
I.3 L'objet Response
I.4 Les évènements
II ASP .net et les bdd
II.1 Essayer plusieurs fois la requête
I 2.1 Fichiers distincts
I.2.2 Avec la balise script
I.2.3 Inclure réellement
I.2.4 Avec Response.Write()
I.3.1 La méthode Response.Redirect()
I.4.1 Résoudre problème post
Installation Postgre Linux
Cours Postgresql
Le Shell Unix( Linux, Ubuntu)
Les scripts C-Shell
Programmation système Unix
Reseau Linux
Les iptables
Windows Presentation Foundation(WPF)
Le Framework 3.0
Windows Workflow Foundation(WF)
ASP 3.0 Classique
Cours Javascript - DOM - DHTML
Chat Ajax
VBA Excel 2003
Assembleur
Perl
Inscription
Liste membres
Livre d'or
Forum
Accueil
>
Linux
>
Les scripts C-Shell
____________________________________________________________________________________________________
Connexion
LES SCRIPTS C-SHELL
26/12/07
Mettre :
# ! /bin/csh
Comme première ligne à votre script pour déclarer qu’il est en C-Shell
Exécution du script : Attention, pour exécuter votre script, après avoir sauvegardé
votre fichier par exemple sous le nom monFic.csh, n’oubliez pas de donner les droits
d’exécution par chmod 777 monFic.csh . Vous pouvez alors l’exécuter par ./monFic.csh
I) Installation du C-Shell
1)Installation C-Shell sous Fedora Core 8
Installer le paquet tcsh( par exemple par Applications->ajout/suppression de programmes), qui est un c-shell.
On a alors /bin/tcsh installé . Et on a aussi un lien symbolique csh, qui pointe sur tcsh.
II) Le C-Shell
1) Les commentaires
Les commentaires sont précédés de # sur la ligne du commentaire( équivalent du // de c++)
Exemple :
#ceci est un commentaire
2) La commande echo
La commande echo est particulièrement utile dans les scripts.
Elle sert à afficher quelque chose à l’écran.
Remarque : echo passe à la ligne, après avoir affiché.
echo semble évident, mais sans echo, comment ferions-nous pour afficher quelque chose à l’écran, par exemple un message ou le contenu d’une variable ?
Exemple dans un script :
echo « ceci est un message »
3) Pas de caractère de fin de ligne
Pas de caractère de fin de ligne, pas de « ; » comme le C. Le choix fait ici est qu’une ligne doit tenir sur une ligne du source. Dans ce cas, on n’a plus besoin d’un marqueur de fin de ligne.
III) Les variables
Remarque : le paragraphe ci-dessus sur les variables concerne notamment le C-Shell.
1)Remarques sur le setenv
Ce qui suit est juste des explications qui ne nous servirons pas forcément ici, mais que je souhaite mettre à cet endroit car il s’agit de C-Shell.
La commande C-shell setenv permet de définir une variable d’environnement.
Exemple : % setenv JAVA_HOME /home/jean/SDK/jdk
La commande setenv ne semble pas fonctionner dans un script C-Shell, mais fonctionne bien en ligne de commande.
Pour afficher le contenu d’une variable d’environnement, en C-Shell, la commande est
% printenv JAVA_HOME
Ou alors %printenv : affiche le contenu de toutes les variables d’environnement.
Si vous êtes en c-shell dans un terminal( en ayant tapé la commande csh), et que vous modifiez une variable d’environnement, la modification sera prise en compte dans le bash shell, lorsque vous retournerez en bash( commande bash).
Remarque : une variable d’environnement modifié, n’est modifiée(ou créée) que pour le terminal où la modification a eu lieu. Si vous ouvrez un autre terminal, vous ne constaterez aucun changement.
2) Assignation d’une valeur à une variable numérique.
@var = expression : assigne une valeur à une variable numérique
Exemple : @var = 3
3) Affectation de variable
set variable valeur affectation
Par défaut toutes les variables sont de type caractère.
Ex : set a = 12 + 15
echo $a affiche 12 + 15, et non 27
- Saisi des éléments à partir du clavier :
set nomvar = $< : initialisation à partir du clavier, le résultat est une chaine.
set nomvar = ($<): initialisation à partir du clavier, le résultat est un tableau
4) Le $
On n’a jamais un nom de variable tout seul( ex. a, tout seul), sauf bien sûr après un set .
Le $ se place avant le nom de la variable, et indique qu’il s’agit d’une variable, et non d’un littéral.
5) Les tableaux
Affectation d’un tableau :
set tab = ( v1 v2 … )
Les éléments du tableau sont indicés de 1 à $#tab
-Taille du tableau : $#tab
-Accès au contenu du tableau :
$tab : la totalité du tableau
$tab[1] : le premier élément
$tab[6-9] : l’élément 6 à l’élément 9
$tab[-9] : du premier au neuvième élément
$tab[6-] : du 6ème au dernier élément
6) Rappel sur la variable prédéfinie $argv
argv : les arguments de la ligne de commande( indicé à partir de 1). C’est un tableau de string
$argv[1]: le premier agurment passé( pas de $argv[0]).
Exemple dans un script C-Shell :
set rep = $argv[1]
echo $argv: ca sait afficher tout, séparé par un espace!
IV) Les caractères spéciaux des scripts C-Shell
1) ` `(Alt gr 7 ) : substitution de commande
C’est une façon de communiquer le résultat d’une commande, à notre script!
Exemple script :
foreach nom (`cat monFic`) etc
Ou encore(script): set ensemble = (`find $rep –type f –name $nom`)
Ici on déclare la variable nommée ensemble comme un tableau de chaines( car on a mis des parenthèses) ; et on initialise ce tableau avec le résultat de la commande find, qui elle-même va retourner un tableau de chaînes( un tableau de tous les noms de fichiers trouvés par find).
Exemple de script :
# ! /bin/csh
foreach nom (`cat ficFruits.txt`)
echo $nom
end
Exemple de fichier ficFruits.txt:
pommes poires bananas
cerises framboises
fraises
résultat : ca marche, même avec les retours à la ligne !
Remarque : echo passe à la ligne.
Ici, chaque chaine du tableau de chaines renvoyée par cat est une ligne du fichier( ce choix du C-Shell est logique, il n’aurait pas été intéressant de découper en mots par défaut).
V) Les mots-clés
1)Le while
Exemple de while :
while ( $i <= $#tab )
…
…
end
2)Le if
La condition est mise en parenthèses, comme en C.
Exemple de script:
if ( $status == 0 ) then
…
endif
3) le switch
switch( $age)
case 15 : case 16 : case 17 :
case 18 :
echo « encore jeune »
breaksw
case 19 :
echo « bel âge ! »
case 20 :
echo « tout rond ! »
default :
echo « J’ai pas prévu votre âge ! »
endsw
Remarque : le « sw » du endsw et du breaksw vient de « switch ».
4) Le foreach
Exemple de script :
#! /bin/csh
#Auteur Sabri Koffler
if ($#argv == 0) then
echo "Veuillez entrer au moins un argument"
else
echo "la liste des arguments est la suivante:"
foreach argument ( $argv )
echo $argument
end
endif
On remarque qu’il n’y a pas de $ devant le argument qui est juste après le mot-clé foreach, tout comme il n’y en avait pas après un set, car il s’agit d’une déclaration, on déclare quelque chose, donc intuitivement, on sent bien qu’il est naturel de ne pas mettre le $.
5) Les opérateurs de test sur les fichiers :
-e fic : c’est vrai si fic existe
-f fic : c’est vrai si fic est un fichier
-r fic c’est vrai si l’utilisateur a le droit de lecture sur fic
-w fic pareil pour écriture
-x fic pareil pour exécution
-o c’est vrai si l’utilisateur est propriétaire du fichier
-z c’est vrai si fic existe et est de taille nulle
-d c’est vrai si fic existe et est un répertoire
Exemple script : if ( !-d $rep) then …
RETOUR HAUT