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 04/01/2025, à 15:41

xunil2003

Depuis un script bash ouvrir un terminal et executer une commande pv

Bonjour,
Depuis un script bash j'essai d'ouvrir une nouvelle konsole de terminal et d'executer une commande bash, et je n'est pas le retour de progression avec pv mais des caractères spéciaux qui défile ?

#!/bin/bash

echo
FICHIER_ISO=$(zenity --title="$TITRE_FENETRE" --file-selection --filename="$HOME" --file-filter=*.iso)
echo "FICHIER_ISO : $FICHIER_ISO"
        
echo
TERMINAL="konsole"
$TERMINAL -e "pv $FICHIER_ISO | xz -c > $FICHIER_ISO.xz"

Merci d'avance pour vos avis et conseils.

Dernière modification par xunil2003 (Le 04/01/2025, à 15:51)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#2 Le 05/01/2025, à 06:48

Watael

Re : Depuis un script bash ouvrir un terminal et executer une commande pv

je crois que les données ne sont pas passées  xz, et que, malgrè les guillemets, c'est la sortie standard de konsole (qui n'en produit pas) qui est passée à xz.

peut-être qu'en mettant les commandes dans une fonction, en l'exportant, et en l'appelant par konsole -e...

#!/bin/bash

maFonc() { pv "$1" | xc -c "$1.xz";}
export -f maFonc

selFic=$(zenity...)

konsole -e maFonc "$selFic"

?


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

Hors ligne

#3 Le 05/01/2025, à 09:39

Watael

Re : Depuis un script bash ouvrir un terminal et executer une commande pv

kastopidiak a écrit :

Bonjour,

Cela me semble tordu d'appeler konsole dans un script mais ceci doit fonctionner :

fic="/home/kasto/test.iso" 
konsole -e "bash -c 'pv "$fic" | xz -c > "$fic".xz';bash"

N.B. : je ne sais pas comment faire autrement qu'en ajoutant des commandes bash pour que konsole reste ouvert.

si tu n'as pas besoin d'interagir davantage avec le shell, masi de seulement observer le résultat :

konsole -e "bash -c 'pv "$fic" | xz -c > "$fic.xz"; read'"

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

Hors ligne