Page 1 of 1

Pourquoi un script qui peut s'executer sous geany ne fonctionne t il pas en mode script ?

Posted: Tue May 07, 2024 5:21 pm
by AlainX

Pourquoi un script qui peut s'executer sous geany ne fonctionne t il pas en mode script ?

voici le contenu de mon fichier

#!/bin/bash
cd /mnt/home
# Demander à l'utilisateur de saisir le nom du répertoire
read -p "Entrez le nom du répertoire à créer : " nom_repertoire

# Vérifier si le répertoire existe déjà
if [ -d "$nom_repertoire" ]; then
echo "Le répertoire '$nom_repertoire' existe déjà."
else
# Créer le répertoire avec le nom saisi par l'utilisateur
mkdir "$nom_repertoire"
echo "Le répertoire '$nom_repertoire' a été créé avec succès."

# Créer le répertoire "lettres" à l'intérieur du répertoire principal
mkdir "$nom_repertoire/lettres"
echo "Le répertoire 'lettres' a été créé à l'intérieur de '$nom_repertoire'."
fi

# Copier le contenu du répertoire "lettres" (par exemple, des fichiers) dans le répertoire "lettres"
cp -r /root/my-documents/travail/lettres/* "$nom_repertoire/lettres/"
echo "Le contenu du répertoire 'lettres' a été copié avec succès."

cp -r /root/my-documents/travail/*.kml "$nom_repertoire/"

sous geany tout se passe bien quand on appuie sur le bouton execute
les droits d'execution ont été mis

quand je clique dessus en dehors de geany rien ne se passe ...
Le même script fonctionne sous ubuntu ...

Je ne comprends pas ...
Je suis sous triton 9.1 lancé à partir d'une clef usb générée par unetbootin et j'ai un fichier de sauvegarde avec 987 Mo de libres


Re: Pourquoi un script qui peut s'executer sous geany ne fonctionne t il pas en mode script ?

Posted: Wed May 08, 2024 3:05 pm
by Rantanplan

Bonjour @AlainX

À la ligne 2 du script, je pense que

Code: Select all

cd /mnt/home

devrait être remplacé par

Code: Select all

cd /home

À la ligne 15, je complèterai la commande mkdir avec l'option -p pour que lettres soit bien créé sous le nom_repertoire demandé avec la commande read.

Ci-dessous, le résultat de ton script lancé depuis un terminal après les corrections proposées ci-dessus :

Code: Select all

# ./test.sh 
Entrez le nom du répertoire à créer : toto_second
Le répertoire 'toto_second' a été créé avec succès.
Le répertoire 'lettres' a été créé à l'intérieur de 'toto_second'.
cp: cannot stat '/root/my-documents/travail/lettres/*': No such file or directory
Le contenu du répertoire 'lettres' a été copié avec succès.
cp: cannot stat '/root/my-documents/travail/*.kml': No such file or directory
# 

Les erreurs sont normales, car je n'ai pas créé les dossiers travail et lettres.

Sinon, le fonctionnement est normal, me semble-t-il.

Pour répondre à ta question "qd je clique dessus rien ne se passe".
Le script est écrit pour être lancé depuis un terminal.
Si tu veux voir quelque chose, il faut utiliser soit yad, soit xdialog, soit dialog (tous présents dans Triton 9) pour ne pas à avoir à utiliser le terminal.

Pour une utilisation depuis un terminal :
tu connais la musique, depuis l'endroit où se trouve ton script tu ouvres un terminal et lances la commande :

Code: Select all

./[ton_script.sh]

puis pression sur la touche entrée.

Si je n'ai pas été clair, dis-moi.

Amitiés


Re: Pourquoi un script qui peut s'executer sous geany ne fonctionne t il pas en mode script ?

Posted: Wed May 08, 2024 8:31 pm
by AlainX

Un grand merci pour cette réponse
Avec Yad cela fonctionne !
Merci encore
Alain


Re: Pourquoi un script qui peut s'executer sous geany ne fonctionne t il pas en mode script ?

Posted: Sat May 25, 2024 5:40 pm
by Rantanplan

Bonjour @AlainX

Vu qu'Yad donnait toute satisfaction.

Je suis tombé par hasard (mais sans me faire mal :D ) sur xmessage qui propose une option -entry

capture7155.png
capture7155.png (35.65 KiB) Viewed 711 times

Peut-être cela pourra-t-il te servir pour autre chose.
C'est rudimentaire comme outil, mais il fait le travail.

Il est dans plusieurs Toutou/Puppy, pas vérifié s'il était dans Triton-9.X.X

À voir si ça t'intéresse.

Amitiés.