Aller au contenu
View in the app

A better way to browse. Learn more.

Next

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[RESOLU] petits scripts shell

Featured Replies

Posté(e)

Salut tous le monde

J'ai besoin de faire un script shell qui fait certaines fonctions . Je veux le faire moi même , mais je serai amener à poser des questions ( j'en ai deja une )

Mais je dois faire ce script dans un minimum de temps ( c'est trop urgent : avant la fin de la journée )

Je vous remercie tous pour votre compréhension

et à tout de suite.

Première question : Pourquoi le script suivant m'affiche des erreurs :

#!/usr/bin/ksh
echo "A?"
read A
while [  ! 'a' ||  ! 'z' ]
do
  echo "A?"
  read A
done

En gros je veux blinder la saisie , pour que l'utilisateur ne tape que soit a soit z.

les erreurs qu'il m'affiche sont les suivantes :

./test2[4]: test: ] missing

./test2[4]: z: not found

( ou alors , juste comment faire pour qu'il ne les affiche plus ... une option ou .. )

Posté(e)
  • Auteur

#!/usr/bin/ksh
unset A
while [[ $A  != 'a' && $A  != 'z' ]]
do
  echo "A?"
  read A
done

Hello Theocrite

Ca marche à la perfection :D

J'ai une autre question :

Comment faire pour creer , dans un script shell , un fichier dans lequel on ecrira "toto va a l'école" ?

Merci d'avance

Posté(e)
  • Auteur

#!/usr/bin/ksh
unset A
while [[ $A  != 'a' && $A  != 'z' ]]
do
  echo "A?"
  read A
done

Il me reste une dernière question avant la fin de la journée :

Comment, a partir d'un script shell, faire pour aller dans un fichier

qui contient les choses suivantes:

<ital>titi

toto

tata

titi

toto

tata

titi

aretertertzrgg/

QSdsfdsfqdf/

Qqsdqfdg/ </ital>

et ajouter a la suite des lignes 8 , 9 et 10 les mots suivants: abc , def et gki.

Merci d'avance

Posté(e)
  • Auteur

#!/usr/bin/ksh
unset A
while [[ $A  != 'a' && $A  != 'z' ]]
do
  echo "A?"
  read A
done

Hello Théocrite

J'ai une dernière question avant la fin de la journée :)

Je te donne le script que je lance ( et qui est sensé ajouter le nom , la version et la version du machin à la fin des trois dernières lignes du fichier /start/test/fichier.conf )

#!/usr/bin/ksh 
echo "taper le nom " 
read NOM 
echo "taper la version " 
read VERSION 
echo "taper la version du machin" 
read VERSION_M 
sed -i.bak '8s/.*/&${NOM}/;9s/.*/&${VERSION}/;10s/.*/&${VERSION_M}/'/start/test/fichier.conf 
cat /start/test/fichier.conf 

Mais ca ne marche malheureusement pas.

Je recois le message d'erreur suivant:

sed: illegal option -- i

Est ce que tu vois comment débugger mon script ?

Please help ;)

Posté(e)

1/ Pense à mettre des balises [ CODE] [ /CODE] autour de ton code.

2/ Matte les tutos sur le web un peu

http://wooledge.org/mywiki/BashFaq#faq37

http://www.kornshell.com/doc/

3/ Les réponses :

echo "mon texte" > Mon_fichier

pour créer un fichier

echo "abc
def
ghi" >> Mon_fichier

Pour rajouter des lignes à la fin de ton fichier.

L'option -i.bak est une option de perl. Tu peux faire du remplacement en sed ou en perl au choix, mais il faut rester cohérent.

EDIT : C'est aussi une option sur les derniers sed, mais comme tu dois bosser sur un viel unix pourri, l'option n'est pas implémentée.

Posté(e)

Je traduis : avant la fin des heures de TP, faites-moi mon exercice de bash...

On dirait :p

Le pire c'est qu'il risque d'y en avoir de plsu en plus. vive le net dans les fac :zarb:

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.