[zsh] parcourir tableau par indice

Applications, problèmes de configuration réseau
AchilleFraisse
Elfe
Messages : 618
Inscription : dim. 27 avr. 2014, 09:32

[zsh] parcourir tableau par indice

Message par AchilleFraisse »

Bonjour,

Je fais comment pour parcourir un tableau par indice en ZSH ?

Je n'ais rien trouvé sur le net.

Merci
Avatar de l’utilisateur
papajoke
Elfe
Messages : 773
Inscription : sam. 30 août 2014, 19:54

Re: [zsh] parcourir tableau par indice

Message par papajoke »

en BASH :wink:
ajouter !, c'est dans toutes les références sur les tableaux (comme # pour le nombre d'éléments)

Code : Tout sélectionner

for id in "${!tableau[@]}"
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
AchilleFraisse
Elfe
Messages : 618
Inscription : dim. 27 avr. 2014, 09:32

Re: [zsh] parcourir tableau par indice

Message par AchilleFraisse »

papajoke a écrit : ven. 28 avr. 2017, 12:44 en BASH :wink:
Non, justement, je le veux en zsh !
En bash tout le monde qui en parle sur internet, mais en ZSH personne :(
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [zsh] parcourir tableau par indice

Message par benjarobin »

Pourquoi veux tu l'indice du tableau ? Au pire tu rajoutes un compteur (en zsh les tableau commence à 1, bash commence à 0)
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
papajoke
Elfe
Messages : 773
Inscription : sam. 30 août 2014, 19:54

Re: [zsh] parcourir tableau par indice

Message par papajoke »

(zsh only) ou a la place d'un simple for (1.. nbelements)...

Code : Tout sélectionner

for item in "${array[@]}"; do
    echo "$item , id: ${array[(i)$item]} "
done
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
AchilleFraisse
Elfe
Messages : 618
Inscription : dim. 27 avr. 2014, 09:32

Re: [zsh] parcourir tableau par indice

Message par AchilleFraisse »

Dac, merci.
J'ai fais un script pour supprimer tous les processus qui comporte le mot 'azerty', mais ils ne sont pas tous supprimé. Qu'est-ce qui ne va pas dans mon script (oui, c'est du bash finalement) ?

Code : Tout sélectionner

#!/bin/bash

REM=$(ps -ef | grep azerty | wc -l)
while [ $REM -gt 1 ]
do
    IN=$(ps -ef | grep azerty | head -1)

    res=$(echo $IN | tr " " "\n")

    i=0;

    for elt in $res
    do
        if [ $i == 1 ]
        then
            kill "$elt"
        fi
        let i++
    done
    
    let REM--
done
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [zsh] parcourir tableau par indice

Message par benjarobin »

Pourquoi pondre 10 lignes de bash, quand une seule suffit :-)

Code : Tout sélectionner

ps xawww | grep -i "[a]zerty" | awk '{print $1}' | while read pid ; do  kill $pid ; done
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
AchilleFraisse
Elfe
Messages : 618
Inscription : dim. 27 avr. 2014, 09:32

Re: [zsh] parcourir tableau par indice

Message par AchilleFraisse »

Merci pour ta réponse, mais je débute.
Au moins j'ai montré que j'ai essayé :)
Mais à quoi sert le crochet autour du a ?
Répondre