Aller au contenu

Scripts (bash)


Kajaeshi

Recommended Posts

Salut,

j'aimerais réaliser un script qui affiche l'heure toutes les secondes (juste pour tester les différentes possibilités des scripts bash), mais j'ai quelques problèmes... (je suis débutant au niveau des scripts, j'ai commencé à apprendre la semaine dernière)

#!/bin/bash

while true ;

do

sleep 1

echo " Il est actuellement : $1"

done

Comme argument, je mettrais celui de la fonction "date", ce qui donnerait :

kajaeshi@ubuntu:~$ ./test < date

et ça me donne seulement

Il est actuellement :

Où est-ce que ça plante?

Lien vers le commentaire
Partager sur d’autres sites

hum ....

Premierement $1 recupere le premier argument ... du style : monscript.sh monargument

- Si tu voudrait recuperer le resultat de date avec le chrevron ca sera plutot la commande "read"

ou

- Si tu veut passer le resultat de la commande date a ton script :

./sc.sh `date` (l'apostrophe du Alt-GR+7 ou un truc comme ca) - je te laisse tester avec ton script

Maintenant pour corriger ton script, plusieurs solutions ...

read i

echo " Il est actuellement :"

echo $i

puis la commande

# date | tonscript.sh

Execute date (une fois) et fournis le resultat dans $i;

Le caractere < est a reserver aux fichiers : monprogramme < monfichier.txt est l'equivalent de echo monfichier.txt | monprograme

Pour répéter l’exécution de date, je ne vois qu'une seul solution, l’intégrer au programme ou faire des trucs un peu con du style :

# yes | xargs -I y date | monprograme

Lien vers le commentaire
Partager sur d’autres sites

Archivé

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

×
×
  • Créer...