#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
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