IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

Script Shell sous OSX


Sujet :

Shell et commandes POSIX

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 118
    Points : 44
    Points
    44
    Par défaut Script Shell sous OSX
    Bonjour à tous,

    J'ai un script shell qui fonctionne sans problème et qui renvoi des infos en mode console. J'aimerai pouvoir voir ces infos dans une fenêtre graphique sous Sierra mais je n'arrive pas à comprendre comment faire. J'aimerai pouvoir me passer d'apple script, et pouvoir tout coder en shell.
    J'ai essayé avec cocoadialog, osascript... sans succès.

    Faut-il redirigé les infos stdout vers un fichier avant de récupérer les infos ?
    Bref, je suis paumé....

    Exemple de script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #!/bin/bash
    echo -n "Déplacement au dossier..."
    sleep 1
    echo -n "Connexion au serveur SSH..."
    sleep 1
    Merci.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par krislec Voir le message
    J'ai un script shell qui fonctionne sans problème et qui renvoi des infos en mode console.
    Quand tu dis "en mode console", veux-tu dire dans le Terminal (c'est-à-dire dans l'application Terminal.app)?

    J'aimerais pouvoir voir ces infos dans une fenêtre graphique sous Sierra mais je n'arrive pas à comprendre comment faire.
    D'abord, veux-tu transformer ton script en une application double-cliquable depuis le Finder? Ou bien veux-tu continuer à lancer ton script depuis le Terminal?

    Pour "pouvoir voir ces infos dans une fenêtre graphique", il faut nécessairement passer par une application...

    Ce peut être TextEdit.app (que tu peux lancer avec "open". Cf. man open) ou bien un 'Quick Look Server debug and management tool'. Cf. man qlmanage.

    J'aimerai pouvoir me passer d'apple script, et pouvoir tout coder en shell.
    J'ai essayé avec cocoadialog, osascript... sans succès.

    Faut-il redirigé les infos stdout vers un fichier avant de récupérer les infos ?
    Bref, je suis paumé....

    Exemple de script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
    echo -n "Déplacement au dossier..."
    sleep 1
    echo -n "Connexion au serveur SSH..."
    sleep 1

    Exemple simple avec redirection et affichage par "TextEdit.app":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $ cat test-qlmanage.sh 
    #!/bin/bash
    tmp=./log-$$.txt
    {
      echo -n "Déplacement au dossier..."
      sleep 5
     
      echo -n "Connexion au serveur SSH..."
      sleep 3
    } > "$tmp"
    open -e "$tmp"
    rm -f "$tmp"
    Dans cet exemple, on affiche tout à la fin: on ne voit pas du tout la progression...

    Exemple simple avec redirection et affichage "progressif" par "qlmanage":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $ cat test-qlmanage.sh 
    #!/bin/bash
    tmp=./log-$$.txt
    {
      echo -n "Déplacement au dossier..."
    } > "$tmp"
    qlmanage -p "$tmp" &
    qlpid=$!
    sleep 5
    {
      echo -n "Connexion au serveur SSH..."
    } >> "$tmp"
    kill $qlpid; qlmanage -p ./log-$$.txt &
    qlpid=$!
    sleep 3
    kill $qlpid # Comment this line if you don't want to close the window yet
    rm -f "$tmp"
    Dans cet exemple, lorsque le fichier de sortie s'enrichit de nouvelles lignes, le script tue le dernier "qlmanage" lancé pour en relancer un autre avec la nouvelle version du fichier de log...
    On voit bien la progression, mais la fluidité n'est pas au rendez-vous...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 118
    Points : 44
    Points
    44
    Par défaut
    Merci pour la réponse et l'aide !

    En mode console, je veux effectivement parler du terminal dans lequel je teste mon script.

    Il s'agit d'un script qui copie des courriers numérisées (.jpg) à partir d'un dossier local (mon mac) vers un server intranet (en SSh... je suis un peu parano !)
    Bref, j'ai réussi à intégrer une icône dans la barre d'outil du finder qui une fois cliquée lance le script et fait le job. j'ai pour cela fait une app via automator et y ai intégrer le lancement du script. Une fois lancé, celui ouvre un terminal qui décrit les étapes sans problème. D'un point de vue visuel, j'aurais aimé le faire via une fenêtre de "type osx" avec une possiblité d'arrêter le script ou de fermer la fenêtre une fois le script terminé, d'où COCOADIALOG...
    Je n'avais pas pensé à textedit ! je ne connaissait pas qlmanage que je vais étudier

    Le but étant de voir la progression...

    L'idéal serait de pouvoir faire une "iframe" avec qlmanage dans une box de cocoadialog, au final...
    A moins de tout dévéloper sous XCODE pour faire l'app mais cela.... je sais pas faire !...

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par krislec Voir le message
    J'ai essayé avec cocoadialog... sans succès.
    Je ne connaissais pas cocoadialog...

    J'ai donc fait un essai... et ça marche! (plus ou moins)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #!/bin/bash
     
    CD_APP="/Applications/ACCES/DEVELOPER/cocoaDialog.app"
    CD="$CD_APP/Contents/MacOS/CocoaDialog"
     
    {
        echo "0 Déplacement au dossier..."
        sleep 2
        echo "50 Connexion au serveur SSH..."
        sleep 2
        echo "100 That's all folks!"
        sleep 2
    } > >($CD progressbar --title "My Program")
     
    echo "done"
    2 contraintes:
    • la chaine affichée par chaque appel à "echo" doit commencer par un nombre (mais celui-ci peut très bien rester à 0!)
    • la progressbar n'affiche que la dernière ligne affichée par l'appel à "echo".


    Cela pourrait-il te convenir?

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par krislec Voir le message
    J'ai essayé avec osascript... sans succès.
    Je n'ai pas beaucoup utilisé "osascript" mais je voulais en avoir le coeur net. J'ai donc fait un essai qui semble marcher:

    Voici le script de base (rendu exécutable avec chmod +x basic-script.sh):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ cat basic-script.sh 
    #!/bin/bash
     
    echo "Déplacement au dossier..."
    sleep 2
    echo "Connexion au serveur SSH..."
    sleep 2
    echo "That's all folks!"
    sleep 2
    echo "done"
    Voici plusieurs manières de l'appeler depuis le Terminal et de l'afficher dans une nouvelle fenêtre Terminal:

    1. Solution avec osascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ osascript -e 'tell application "Terminal" to do script "'"$PWD/basic-script.sh"'"'
    Si on est allergique aux combinaisons de simples et doubles quotes, on peut quoter les quotes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ osascript -e "tell application \"Terminal\" to do script \"$PWD/basic-script.sh\""
    Rq: ici, je me suis mis (cd) dans le répertoire contenant "basic-script.sh" et j'ai utilisé "$PWD" pour avoir le chemin complet du script, mais on peut aussi mettre le chemin absolu en dur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ osascript -e 'tell application "Terminal" to do script "/chemin/absolu/en/dur/vers/basic-script.sh"'
    2. Solution avec "open com.apple.terminal"
    Une autre possibilité qui marche bien aussi (encore plus simple):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ open -b com.apple.terminal ./basic-script.sh
    3. Solution avec une commande
    Autre possibilité, avec une commande (toujours plus simple):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ cp basic-script.sh basic-script.command; chmod +x basic-script.command
    $ open basic-script.command

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 118
    Points : 44
    Points
    44
    Par défaut
    Excellent. Merci pour tes explications (j'ai pas mal appris !).
    Le problème que j'avais également c'est qu'en passant pas automator-> exécution script shell-> .app, le lancement de l'application lance en fait 2 terminal ! Un premier vide puis le deuxième où l'on voit s'exécuter le script.
    Nénamoins, cela ne résolut pas le problème quant à l'apparition d'une fenêtre (autre que le terminal) ou serait affiché les retours de commande du script, avec ensuite une barre de progression de "l'upload" des fichiers... Personellement, j'utilisais osascript que pour afficher le message final "n fichiers copiés"...

    Je regarde Xcode, mais j'avoue que c'est vraiment une usine à gaz !

    pour info le script en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    #!/bin/bash
    # Definition des variables
    USER="toto"
    SERVER="tata"
    DIR_ORIG="/Users/toto/scan"
    TRASH="/Users/toto/.Trash/"
    ID_USER="2"
     
    # Déplacement au dossier des courriers scannés (*.jpg ou *.pdf)
    cd  $DIR_ORIG &&
    echo -e "\033[37mDéplacement au dossier ..... \033[32mOK"
     
    # On vérifie s'il y a des fichiers *.pdf à traiter
    # Traitement des fichiers Pdf2jpg
    if [ "$(ls *.pdf 2>/dev/null)" ]; then
        echo -e "\033[37mTraitement des fichiers pdf avant envoi :\033[0m"
        /Users/krislec/Shell_scripts/pdf2jpg.sh
    else
        echo -e "\033[37mPas de fichier pdf à convertir.\033[0m"
    fi
     
    # On vérifie s'il y a des fichiers *.jpg à traiter
    if [ "$(ls *.jpg 2>/dev/null)" ]; then
     
        # Optimisation des fichiers jpg (nécessite d'avoir installé ImageOptim)
            echo -e -n "\033[37mOptimisation des fichiers images ..... \033[00m"
            /Applications/ImageOptim.app/Contents/MacOS/ImageOptim *.jpg > /dev/null 2>&1
            echo -e "\033[32mOK"
     
        # Nombres de fichiers à transférer
            FILECOUNT=$(ls -1 | wc -l)
     
        # Test de la connexion SSH
            echo -e -n "\033[37mConnexion SSH sur $SERVER .....\033[00m"
            ssh -q -p 2210 -o ConnectTimeout=5 $USER@$SERVER echo > /dev/null
            if [ $? == "255" ]; then
                echo -e "\033[31m\033[5mEchec !\033[00m"
                exit 0
            else
                echo -e "\033[32mOK"
            fi
     
        # Transfert des fichiers *jpg vers le dossier du user
            for i in *.jpg; do
                echo -e -n "\033[33m"
                scp -P 2210 $i toto@tata:/path/to/users/$ID_USER/scan/
            done
     
        # Le transfert ayant réussi, on supprime les fichiers *.jpg en local to trash.
            if [ $? == "0" ]; then
     
                echo -e "\033[37mTransfert des courriers ..... \033[32mOK"
     
                # Nombres de fichiers envoyés
                 echo -e "\033[37m *** "$FILECOUNT "Courrier(s) transféré(s) ***\033[00m"
                 # osascript -e 'display dialog "$FILECOUNT Courrier(s) transféré(s)."'
     
                # Suppression des pages
                mv $DIR_ORIG/*.jpg $TRASH
     
            else
                # Echec du transfert
                echo -e "\033[37mTransfert des courriers ..... \033[31m\033[05mEchec.\033[00m"
            fi
     
    else
     
        # Pas de fichiers *.jpg à transférer
            echo -e "\033[37mPas de fichiers jpg à transférer. \033[00m"
            exit 0
     
    fi
    Si tu as un script qui y ressemble je suis preneur...
    Merci pour ton aide.

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par krislec Voir le message
    Le problème que j'avais également c'est qu'en passant pas automator-> exécution script shell-> .app, le lancement de l'application lance en fait 2 terminal ! Un premier vide puis le deuxième où l'on voit s'exécuter le script.
    Nénamoins, cela ne résolut pas le problème quant à l'apparition d'une fenêtre (autre que le terminal) ou serait affiché les retours de commande du script, avec ensuite une barre de progression de "l'upload" des fichiers... Personellement, j'utilisais osascript que pour afficher le message final "n fichiers copiés"...
    Je n'ai pas bien compris ce que tu veux.

    Je regarde Xcode, mais j'avoue que c'est vraiment une usine à gaz !
    C'est pas faux!

    pour info le script en question :

    Si tu as un script qui y ressemble je suis preneur...
    Je n'ai pas de script qui y ressemble, mais, si tu veux bien, j'aurais quelques petites remarques.

    Première petite remarque: pour la lisibilité, je n'aime pas beaucoup un petit "else" qui suit un grand "then".
    De plus, j'aime bien, lorsque c'est possible, gérer d'abord le cas d'erreur et continuer par le cas normal.
    Pour ces 2 raisons, je suis parfois amené à faire le test "négatif" et permuter le "then" et le "else".

    Ensuite, il y a l'usage du "ls" dans un script...
    si N_BaH tombe sur ce que tu as écrit, il va pas être content...
    En fait, si j'ai bien compris N_BaH, le principal problème du "ls" dans un script concerne plutôt l'énumération dans une boucle "for" des fichiers retournés par "ls".
    Heureusement, ce n'est pas ce que tu fais et tes boucles "for" sont fort bien écrites!

    Mais, à tout prendre, et surtout si l'on comprend bien le principe du "if" et le sens des crochets (raccourci pour la commande "test"), il vaudrait mieux remplacer le test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [ "$(ls *.pdf 2>/dev/null)" ]; then
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ls *.pdf >/dev/null 2>&1; then
    car le statut retourné par "ls" indique s'il a trouvé ou non des fichiers correspondant aux arguments qui lui sont passés.

    De plus, si l'on veut ajouter la gestion d'une barre de progression pour laquelle il est nécessaire de connaître l'objectif à atteindre, il faut calculer le nombre de fichiers, et, pour être général, on suppose que leur nom peut contenir des caractères gênants pour le décompte ou l'énumération comme espace ou return...

    Voici une ébauche de proposition (non testée):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    #!/bin/bash
     
    # Definition des variables
    USER="toto"
    SERVER="tata"
    DIR_ORIG="/Users/toto/scan"
    TRASH="/Users/toto/.Trash/"
    ID_USER="2"
     
    CD_APP="/Applications/ACCES/DEVELOPER/cocoaDialog.app"
    CD="$CD_APP/Contents/MacOS/CocoaDialog"
     
    ## Fonctions auxiliaires de mise en forme
     
    # ,----[ tty colors ]
    # | 0     1   2     3      4    5       6    7
    # | black red green yellow blue magenta cyan grey
    # `----
     
    # [jack] 151230 cf. `man terminfo'
    # - setaf (set ANSI foreground) and setab (set ANSI background)
    # - smso and rmso (enter and exit standout mode (highlight))
    # - smul and rmul (begin and end underlining)
    #
    # Other capabilities to enter various highlighting modes include:
    # - blink (blinking)
    # - bold  (bold or extra bright)
    # - dim   (dim or half-bright)
    # - invis (blanking or invisible text)
    # - prot  (protected)
    # - rev   (reverse video)
    # - sgr0  (turn off all attribute modes)
    # - smacs (enter alternate character set mode)
    # - rmacs (exit alternate character set mode).
    #
    # Turning on any of these modes singly may or may not turn off other modes.
     
    KR_COL_TEXT=7 # grey
    KR_COL_OK=2   # green
    KR_COL_NOK=1  # red
     
    kr_text() { tput rev; tput setaf ${KR_COL_TEXT}; }
    kr_ok()   { tput setaf ${KR_COL_OK}; }
    kr_nok()  { tput blink; tput setaf ${KR_COL_NOK}; }
    kr_end()  { tput sgr0; }
     
    # Usage: kr_echo [-n] [-e] "Texte" ["result"]
    # -n : pas de retour à la ligne
    # -e : "result" est affiché comme une erreur
    kr_echo() {
        n_opt=""
        ok="$(kr_ok)"
        case "$1" in
            "-n") n_opt=$1 ; shift ;;
        esac
        case "$1" in
            "-e") ok="$(kr_nok)" ; shift ;;
        esac
        echo -e $n_opt "$(kr_text)$1${ok}$2$(kr_end)"
    }
     
    ## Programme principal
     
    # Déplacement dans le dossier des courriers scannés (*.jpg ou *.pdf)
    kr_echo -n "Déplacement au dossier ..... "
    cd  $DIR_ORIG && kr_echo "" "OK" || { kr_echo -e "" "Echec"; exit 1; }
     
    # 1. Traitement des fichiers pdf
     
    # Test de l'existence des fichiers pdf
     
    if ! ls *.pdf >/dev/null 2>&1; then
        kr_echo "Pas de fichier pdf à convertir"
    else
        # Récupération des fichiers pdf
     
        # La liste des fichiers (dans un tableau)
        pdf_files=( *.pdf )
     
        # Le nombre de fichiers pdf
        nb_pdf=${#pdf_files[@]}
     
        # Traitement des fichiers Pdf2jpg
        kr_echo "Traitement des ${nb_pdf} fichiers pdf avant envoi :"
        /Users/krislec/Shell_scripts/pdf2jpg.sh
     
    fi
     
    # 2. Traitement des fichiers jpg
     
    # On vérifie s'il y a des fichiers *.jpg à traiter
    if ! ls *.jpg >/dev/null 2>&1; then
        kr_echo "Pas de fichier jpg à convertir"
        exit 0
    fi
     
    # Récupération des fichiers jpg
     
    # La liste des fichiers (dans un tableau)
    jpg_files=( *.jpg )
     
    # Le nombre de fichiers jpg
    nb_jpg=${#jpg_files[@]}
     
    # Optimisation des fichiers jpg (nécessite d'avoir installé ImageOptim)
    kr_echo -n "Optimisation des ${nb_jpg} fichiers images ..... "
    /Applications/ImageOptim.app/Contents/MacOS/ImageOptim *.jpg > /dev/null 2>&1
    kr_echo "" "OK"
     
    # Test de la connexion SSH
    kr_echo -n "Connexion SSH sur $SERVER ....."
    ssh -q -p 2210 -o ConnectTimeout=5 $USER@$SERVER echo > /dev/null
    if [ $? == "255" ]; then
        kr_echo -e "Echec !"
        exit 0
    else
        kr_echo "OK"
    fi
     
    # Transfert des fichiers *jpg vers le dossier du user
     
    nb_file=0
    all_res=0
     
    for file in "${jpg_files[@]}"; do
        echo "$((nb_file * 100 / nb_jpg)) $((nb_file * 100 / nb_jpg))% copie de ${file}..." # pour CocoaDialog
        out=$(scp -P 2210 $file toto@tata:/path/to/users/$ID_USER/scan/ 2>&1)
        res=$?
        if test $res -eq 0; then
            kr_echo "${out}"
        else
            kr_echo -e "${out}" "res = $res"
            all_res=$res
        fi 1>&2 # pour le Terminal
        ((nb_file++))
    done > >($CD progressbar --title "Transfert")
     
    # Test du succèx global
    if test ${all_res} -ne 0 ; then
        # Echec du transfert
        kr_echo -e "Transfert des courriers ..... " "Echec."
     
    else
        # Le transfert ayant réussi, on supprime les fichiers *.jpg en local to trash.
        kr_echo "Transfert des courriers ..... " "OK"
     
        # Nombres de fichiers envoyés
        kr_echo "*** ${nb_jpg} Courrier(s) transféré(s) ***"
        # osascript -e 'display dialog "$FILECOUNT Courrier(s) transféré(s)."'
     
        # Suppression des pages
        mv "${jpg_files[@]}" "${TRASH}/"
    fi
    Bonne lecture!

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 118
    Points : 44
    Points
    44
    Par défaut
    Super !
    J'ai encore beaucoup appris... notamment comment mettre en pratique la "progress bar" avec cocoaDialog !
    L'application est plus "jolie"...

    Je te remercie de m'avoir donné tant d'explications.

    Je garde cette version, toute fonctionnelle, et tente (pour le fun !) de faire une application avec Xcode 8... Autant dire que ce n'est pas pour demain, lol !

Discussions similaires

  1. cryptage script shell sous unix
    Par dimitris dans le forum Autres systèmes
    Réponses: 0
    Dernier message: 13/07/2010, 08h01
  2. execution d'un script shell sous php
    Par cosam dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 09/10/2009, 12h57
  3. script shell sous solaris 8
    Par tmd710 dans le forum Solaris
    Réponses: 2
    Dernier message: 27/01/2009, 10h47
  4. Script shell sous unix
    Par taroudant dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 21/11/2006, 12h32
  5. Problème script shell sous ksh
    Par suya95 dans le forum Linux
    Réponses: 2
    Dernier message: 01/09/2006, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo