Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/05/2020, à 15:02

joe217

tableau script

Bonjour,
j'aimerais faire un tableau, dont la définition en zsh est tab1=(). mais ,je sais pas comment l'utiliser et je trouve rien a ce sujet ?
On doit affecter  chaque case du tableau ”..”
Exemple de ce que doit produire le script :>

./parcours.sh 2
.. .. 
.. .. 

j'ai fais ça:

#!/bin/zsh
for x in $(seq 1 $1) 
do
    for y in $(seq 1 $2)
	do
            P=..
            printf "%s " $P


	done
echo
done

j'obtiens:

.. ..
.. ..

ça marche avec 2 mais pas avec 10 par exemple car au lieu d'avoir/

.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..

j'ai

.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..

merci

Hors ligne

#2 Le 17/05/2020, à 15:18

joe217

Re : tableau script

je dois prendre que les 2 premieres lignes; je dois utiliser

head -n 2 | printf ..

mais ça ne marche pas

Hors ligne

#3 Le 17/05/2020, à 15:35

pingouinux

Re : tableau script

Bonjour,
Les résultats que tu montres en #1 ne sont pas cohérents avec ton script, et la façon dont tu l'appelles.

$ ./parcours.sh 2 10
.. .. .. .. .. .. .. .. .. .. 
.. .. .. .. .. .. .. .. .. ..

Hors ligne

#4 Le 17/05/2020, à 16:07

Watael

Re : tableau script

for ((x=1;x<=$1;x++))

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 17/05/2020, à 16:44

joe217

Re : tableau script

pingouinux a écrit :

Bonjour,
Les résultats que tu montres en #1 ne sont pas cohérents avec ton script, et la façon dont tu l'appelles.

$ ./parcours.sh 2 10
.. .. .. .. .. .. .. .. .. .. 
.. .. .. .. .. .. .. .. .. ..

oui j'ai oublié de modifier le 2 dans le 2e for c'est encore un 1

for x in $(seq 1 $1) 
do
    for y in $(seq 1 $1)

Hors ligne

#6 Le 17/05/2020, à 16:49

Watael

Re : tableau script

$ for ((x=1;x<=$1;x++)); do printf '.. %.s' $(seq 1 $(($2-1))); echo '..'; done

Dernière modification par Watael (Le 17/05/2020, à 16:49)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#7 Le 18/05/2020, à 14:18

joe217

Re : tableau script

Watael a écrit :
$ for ((x=1;x<=$1;x++)); do printf '.. %.s' $(seq 1 $(($2-1))); echo '..'; done

bonjour,
pourquoi tu as mis un . après le %
avec ton code ;
j'obtiens

zsh table.sh 10
....
....
....
....
....
....
....
....
....
....

je voulais avoir ça:

.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..

peu importe le parmaètre passé je dois toujours avoir 2 lignes
merci

Dernière modification par joe217 (Le 18/05/2020, à 14:19)

Hors ligne

#8 Le 18/05/2020, à 16:30

Watael

Re : tableau script

tu veux un tableau à deux dimensions : il manque donc un argument sur ta ligne de commande.

le point, c'est pour ne pas afficher les arguments (1 2 3 ...).


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne