Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sde2:teme:tema_fr_2_rust [2022/03/30 12:39]
alexandru.radovici
sde2:teme:tema_fr_2_rust [2023/03/31 11:41] (current)
alexandru.radovici
Line 1: Line 1:
-====== Devoir 2 - Rusty-shell ​======+====== Devoir 2 - Rustyshell ​======
  
 Le but de ce thème est de créer un shell simple, compatible avec ''​ sh '';​ Le but de ce thème est de créer un shell simple, compatible avec ''​ sh '';​
Line 6: Line 6:
  
 <note important>​ <note important>​
-Date limite: ** Le avril, ​23h55 ** \\+Date limite: ** Le 16 avril, ​23h59 ** \\
 Note: ** 2 points ** de la note \\ Note: ** 2 points ** de la note \\
-Lien: [[https://​classroom.github.com/​a/​CNECMumG|Devoir 2]] \\+Lien: [[https://​classroom.github.com/​a/​5bIEjznY|Devoir 2]] \\
 Télécharger en retard: **1 points / jour** (maximum 4 jours)\\ Télécharger en retard: **1 points / jour** (maximum 4 jours)\\
 </​note>​ </​note>​
Line 56: Line 56:
     * sera utilisé pour exécuter des commandes séquentiellement;​     * sera utilisé pour exécuter des commandes séquentiellement;​
     * par exemple, ''​ expr1; expr2 ''​ commencera par exécuter les commandes ''​ expr1 ''​ et les commandes ''​ expr2 ''​ seulement après l'​exécution de //expr1//;     * par exemple, ''​ expr1; expr2 ''​ commencera par exécuter les commandes ''​ expr1 ''​ et les commandes ''​ expr2 ''​ seulement après l'​exécution de //expr1//;
 +<​hidden>​
   * Opérateur de parallélisme ''​ & ''​   * Opérateur de parallélisme ''​ & ''​
     * sera utilisé pour exécuter les commandes en parallèle;     * sera utilisé pour exécuter les commandes en parallèle;
     * par exemple, ''​ expr1 & expr2 ''​ entraînera l'​exécution de ''​ expr1 ''​ et des commandes ''​ expr2 ''​ en parallèle;     * par exemple, ''​ expr1 & expr2 ''​ entraînera l'​exécution de ''​ expr1 ''​ et des commandes ''​ expr2 ''​ en parallèle;
     * dans l'​implémentation de votre programme, il est ** INTERDIT** de rappeler le propre exécutable. <​code>​ execv ("​./​rustyshell",​ "​command"​);​ </​code>​     * dans l'​implémentation de votre programme, il est ** INTERDIT** de rappeler le propre exécutable. <​code>​ execv ("​./​rustyshell",​ "​command"​);​ </​code>​
 +</​hidden>​
   * opérateurs d'​exécution conditionnelle ''​ && ''​ et ''​ || ''​   * opérateurs d'​exécution conditionnelle ''​ && ''​ et ''​ || ''​
     * seront utilisés pour exécuter des commandes en fonction du code d'​erreur;​     * seront utilisés pour exécuter des commandes en fonction du code d'​erreur;​
Line 70: Line 72:
   - opérateur ​ pipe   - opérateur ​ pipe
   - opérateurs d'​exécution conditionnelle   - opérateurs d'​exécution conditionnelle
-  - opérateur de parallélisme+  - opérateur de parallélisme ​(pas utilise)
   - opérateur de séquençage   - opérateur de séquençage
  
Line 86: Line 88:
   * ''​ exit ''​ et ''​ quit ''​ pour terminet le shell   * ''​ exit ''​ et ''​ quit ''​ pour terminet le shell
   * ''​ cd directory ''​ pour changer le répertoire actuel   * ''​ cd directory ''​ pour changer le répertoire actuel
-    * ** ATTENTION **: Le rusty-shell ​doit toujours fonctionner a l'​utilisation de  la commande ''​ cd ''​ sans paramètre, remplacer le répertoire en cours par le répertoire //home// de l'​utilisateur courant (variable %%$%%HOME)+    * ** ATTENTION **: Le rustyshell ​doit toujours fonctionner a l'​utilisation de  la commande ''​ cd ''​ sans paramètre, remplacer le répertoire en cours par le répertoire //home// de l'​utilisateur courant (variable %%$%%HOME)
  
 Le shell doit aussi supporter les sous-commandes:​ Le shell doit aussi supporter les sous-commandes:​
Line 101: Line 103:
  
     - Lancer des commandes simples (''​ ls '',​ ''​ ls -l ''​)     - Lancer des commandes simples (''​ ls '',​ ''​ ls -l ''​)
-    - Exécuter des commandes internes (''​ cd '',​ ''​ exit '',​ '​quit'​ ')+    - Exécuter des commandes internes (''​ cd '',​ ''​ exit '', ​''​quit''​)
     - mise en place de redirections (opérateurs ''​ < '',​ ''​ > '',​ ''​ 2> '',​ ''​ &> '',​ ''​ >> '',​ ''​ 2>> ''​)     - mise en place de redirections (opérateurs ''​ < '',​ ''​ > '',​ ''​ 2> '',​ ''​ &> '',​ ''​ >> '',​ ''​ 2>> ''​)
     - séquencement des commandes (opérateurs ''&&'',​ ''​||'',​ '';''​)     - séquencement des commandes (opérateurs ''&&'',​ ''​||'',​ '';''​)
-    - implémentation des opérateurs ''​ & ''​ (parallèle)+    - implémentation des opérateurs ''​ & ''​ (parallèle, pas utilise)
     - ''​ | ''​     - ''​ | ''​
  
Line 180: Line 182:
 Laboratoires utiles: Laboratoires utiles:
  
-  *[[sde2:​laboratoare:​01_new]] +  *[[sde2:​laboratoare:​00_rust]] 
-  *[[sde2:​laboratoare:​02_new]] +  *[[sde2:​laboratoare:​01_rust]] 
-  *[[sde2:​laboratoare:​03_new]] +  *[[sde2:​laboratoare:​02_rust]] 
-  *[[sde2:​laboratoare:​04_new]] +  *[[sde2:​laboratoare:​03_rust]] 
-  *[[sde2:​laboratoare:​05_new]]+  *[[sde2:​laboratoare:​04_rust]]
  
  
sde2/teme/tema_fr_2_rust.1648633158.txt.gz · Last modified: 2022/03/30 12:39 by alexandru.radovici
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0