Aide en C shell

Fermé
nulle00 Messages postés 21 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 8 juillet 2008 - 15 juin 2008 à 17:42
nulle00 Messages postés 21 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 8 juillet 2008 - 16 juin 2008 à 15:17
Bonjour,
Je suis debutante en programation(et sur unix aussi d'ailleurs..) et je dois resoudre un exercise en programmant en C shell. Mon probleme c'est que je ne sais pas du tout par ou commencer, ou ecrire le programme, que doit on ecrire au debut(du genre #include.... comme en c...).....
En gros je suis un peu perdue donc si quelqun pouvait me guider online juste pour debuter mon programme ca m'aiderait enormement...
Merci d'avance!
A voir également:

4 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 juin 2008 à 17:48
Salut,

je pense que tu dois te décider ;-)

tu veux écrire un programme en C ou un programme en shell ?

Pour shell regarde ici https://www.tuteurs.ens.fr/unix/shell/script.html
1
nulle00 Messages postés 21 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 8 juillet 2008 1
15 juin 2008 à 18:07
Merci de repondre aussi rapidement!
Desolee si mon explication etait un peu embrouillee en fait le seul language de programation que je conaisse pour l'instant est le C, c'est pour ca que j'essaye de me reperer par rapport a ce que je connais..
La je dois ecrire un programme en Cshell et le lien que tu m'a donne concerne le bourne shell je crois, c'est different non?
En fait j'aimerai savoir ou ecrire mon programme, dans visual studio comme pour c? est ce compatible avec unix? Et aussi par quoi le commencer, si il y a des lignes types que l'on ecrit en debut de chaque programme.... Y a t'il une fonction principale(main) comme dans c....?
Voila j'espere que c'est un peu plus clair comme ca..
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 juin 2008 à 18:16
Re,

tu peux regarder ici http://www.shellunix.com/csh.html

Visual Studio n'a rien à fiare ;-)
Un script tu peux l'écrire directement dans un éditeur de texte (sans mise en forme)

Le script shell ne se compile pas, il s'agit d'un langage interprété.

Non il n'y a pas de main ;-)

En bref, tu as plusieurs shell : sh, bash, csh, etc.

voici un exemple de script qui fonctionne dans sh, bash, csh
#!/bin/sh

echo "Bonjour tout le monde!" 

La syntaxe est un peu différente entre bash et csh, mais le principe c'est le même.
En étudiant la programmation shell et connaître l'environnement csh peut t'aider dans tes demarches ;-)
0
nulle00 Messages postés 21 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 8 juillet 2008 1
15 juin 2008 à 18:36
Alors si j'ai bien compris, j'ecris mon script dans un fichier *.txt par exemple c'est ca? et donc il n'y a ni debugeur, ni compilation a faire? Une fois que j'ai fini d'ecrire mon programme je fais quoi pour voir si il marche?
"ssh secure shell client" ca te dit quelque chose? c'est installe sur les ordinateurs de la fac donc j'imagine que c'est ce qui "interprete" mon script non? Si c'est bien ca saurait tu comment ca marche?
Desolee pour toute ces questions mais ca me semble bizarre de tout ecrire sans avoir aucun moyen de verifier si le programme marche (ni compilation, ni debugging..) comme mon pseudo l'indique je suis vraiment au niveau zero... :((
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
15 juin 2008 à 19:17
Salut,

j'ecris mon script dans un fichier *.txt par exemple c'est ca?
Par convention mieux vaut l'appeler avec une extension ".csh" plutôt que ".txt"

Une fois que j'ai fini d'ecrire mon programme je fais quoi pour voir si il marche?
Tu le rends exécutable :
chmod +x le_script.csh
et tu le lances comme suit :
./le_script.csh


"ssh secure shell client" ca te dit quelque chose?
Oui c'est un shell sécurisé pour les connexions distantes (équivalent et préférable à "telnet").

c'est installe sur les ordinateurs de la fac donc j'imagine que c'est ce qui "interprète" mon script non? Si c'est bien ca saurait tu comment ca marche?
En fait, non. Ce qui interprète ton script c'est le shell de connexion définit dans ton environnement (en l'occurrence "csh" pour toi) ou l'exécutable définit par la ligne "shebang" (#! /bin/bash).
"ssh" ne fait qu'établir une connexion sur la machine distante et ouvrir un shell (celui définit dans ton environnement).
0
nulle00 Messages postés 21 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 8 juillet 2008 1
16 juin 2008 à 00:40
Merci Jipicy, je commence a y voir plus clair mais j'ai encore quelques petites questions..

Pour: " chmod +x le_script.csh " et " ./le_script.csh ", ces lignes doivent etre ecrite a la fin du fichier *.csh ou alors dans la fenetre de commande de ssh?

Quand je lance mon programme qu'est ce qui s'affiche a l'ecran?

Et encore une fois, il n'y a pas de debugeur? donc je vois que mon programme ne marche pas qu'au moment ou je le lance et je dois tout corriger par moi meme, c'est ca?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
16 juin 2008 à 07:53
Alors concernant le "chmod" et le lancement du script, oui ces commandes doivent être tapées dans le terminal une fois ton script écrit et sauvegardé.

Pour le débogage il y a bien des paramètres à passer au script ("-xnv", voir cette page), mais ce n'est pas à proprement parler un vrai débogage ;-(
0
nulle00 Messages postés 21 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 8 juillet 2008 1
16 juin 2008 à 14:07
Merci!
Encore une derniere question(normalement.. ;) ), quand j'essaye de le rendre executable, ce message s'affiche:
chmod: cannot access `essai1.csh': No such file or directory
essai.csh est sur mon bureau, ou dois je le mettre pour que ça marche?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > nulle00 Messages postés 21 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 8 juillet 2008
16 juin 2008 à 14:15
cd /home/$USER/Desktop/
chmod +x essai1.csh
./essai1.csh
;-))
0
nulle00 Messages postés 21 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 8 juillet 2008 1
16 juin 2008 à 14:16
En fait c'est bon, ça ne marche pas car le nom de mon fichier etait bien essai1.csh mais c'etait reste en format texte donc il fallait ecrire essai1.csh.txt.
Mais si c'est comme ca quel interet de mettre .csh, ou alors je l'ai mal fait vu que c'est automatiquement reste en .txt, alors comment je dois faire pour que ce soit un vrai csh et non pas txt?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > nulle00 Messages postés 21 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 8 juillet 2008
16 juin 2008 à 14:19
Euh... tu travailles sous quel environnement (système) ???
Que renvoie la commande :
file  essai1.csh.txt
0
nulle00 Messages postés 21 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 8 juillet 2008 1 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
16 juin 2008 à 14:25
Environnement? c'est a dire? je suis sur le terminal de ssh si c'est bien ca que tu veux savoir
Cette commande me renvoie:
essai1.csh.txt: C shell script text executable
0