#1 Le 22/08/2016, à 17:42
- Compte anonymisé
bash: creation d'un script executable
Bonjour,
Je crée un script qui fonctionne de cette façon :
Tant que les commandes suivantes ne renvoient pas de code d'erreur , execute-les l'une aprés l'autre .
Sinon , affiche le nom de la commande problématique + le code d'erreur .
Mais "$?" n'affiche que le code de la commande précédente .
Comment faire ?
#2 Le 22/08/2016, à 18:18
- Watael
Re : bash: creation d'un script executable
par définition, "la commande suivante" ne peut pas retourner de code d'erreur, puisqu'elle n'a pas encore été exécutée !
bachi-bouzouk || echo "la commande \"bachi-bouzouk\" a retourné $?" >&2
si tu veux exécuter scolopendre après bachi-bouzouk, si cette dernière n'a pas échoué, et affiché un message d'erreur, il n'y a pas de secret, pas de magie : il faut le programmer :
bachi-bouzouk
retVal=$?
test $retVal -ge 1 && { echo "la commande \"bachi-bouzouk\" a retourné $?" >&2; exit 1;}
scolopendre
# et ainsi de suite
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 23/08/2016, à 01:06
- Compte anonymisé
Re : bash: creation d'un script executable
merci.
Aussi, je cherche a prendre une entrée et à l'écrire en même temps dans un fichier , je n'y arrive pas :
j-user@Lubuntu-16:~$ read -r > "test.txt"
hello
j-user@Lubuntu-16:~$ cat test.txt
j-user@Lubuntu-16:~$
#4 Le 23/08/2016, à 02:05
- Watael
Re : bash: creation d'un script executable
ça, ça relève de la magie.
tu lis l'entrée clavier, et ensuite tu rediriges son affichage vers un fichier.
il faut lire un bon tuto : bash for beginners, et ensuite Advanced Bash Scripting guide.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 23/08/2016, à 16:00
- Compte anonymisé
Re : bash: creation d'un script executable
je cherche a prendre une entrée et à l'écrire en même temps dans un fichier
J'entendais par là : "en une seule commande" .
Comment sortir le contenu de read dans un fichier , dès que l'utilisateur entre quelque chose?
Dernière modification par Compte anonymisé (Le 23/08/2016, à 16:05)
#6 Le 23/08/2016, à 17:58
- Watael
Re : bash: creation d'un script executable
ça, ça relève de la magie.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#7 Le 23/08/2016, à 19:20
- Compte anonymisé
Re : bash: creation d'un script executable
Watael a écrit :ça, ça relève de la magie.
J'ai trouvé le man sur le net .
C'est surtout qu'une variable est nécessaire .
( Ma méthode aurait pu fonctionner si read utilisait une variable par défault ) .
The read builtin reads one line of data (text, user input, …) from standard input or a supplied filedescriptor number into one or more variables named by <NAME…>.
Dernière modification par Compte anonymisé (Le 23/08/2016, à 19:21)
#8 Le 23/08/2016, à 19:42
- pingouinux
Re : bash: creation d'un script executable
Bonsoir,
Ça fait deux commandes, mais est-ce que ceci te conviendrait ?
read -r; echo "$REPLY" >test.txt
Hors ligne
#9 Le 05/10/2016, à 22:47
- Compte anonymisé
Re : bash: creation d'un script executable
Ben c'est que je cherchais un prog qui fasse les deux .
Merci quand même .
#10 Le 07/10/2016, à 18:18
- Compte anonymisé
Re : bash: creation d'un script executable
ça, ça relève de la magie.
c'était de la magie, jusqu’à aujourd'hui !!!
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main ( int argc, char *argv[] )
{
string mystr;
getline (cin, mystr);
ofstream myfile;
myfile.open (argv[1]);
myfile << mystr;
myfile.close();
return 0;
}
un petit programme qui lit l'entrée et enregistre dans un fichier. (T'as de la chance que je m'ennuie )
pour l'installer :
sudo apt install build-essential
gedit readtofile.cpp
# la tu colles le programme et tu le sauves
g++ -g -o readtofile readtofile.cpp
sudo mv readtofile /usr/local/bin
et ensuite tu fais simplement :
readtofile fichier.txt
#11 Le 07/10/2016, à 18:52
- Watael
Re : bash: creation d'un script executable
eh ben, non. il y a un moment pour lire, et un moment pour écrire !
une simple fonction shell peut le faire aussi :
readNwrite2file() {
echo "entrez quelque chose : "
read var
echo "$var" > ./fichierQuelconque
}
mais toujours en (au moins) deux temps.
Dernière modification par Watael (Le 07/10/2016, à 18:53)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#12 Le 07/10/2016, à 19:00
- Compte anonymisé
Re : bash: creation d'un script executable
c'est vrai, enfaite c'était surtout pour répondre à
Ben c'est que je cherchais un prog qui fasse les deux .
apparemment un bricolage basé sur bash ne semblait pas convenir...
Après j'ai pas tout saisi à la demande.
#13 Le 13/10/2016, à 02:19
- Compte anonymisé
Re : bash: creation d'un script executable
Merci pour ton alternative Anonyme68
Ton programme overwrite le fichier ou rajoute la string à la fin ?
---------------------
Existe-t-il par défault un programme similaire dans un os linux ?
---------------------
Watael , ta fonction ne demande pas un nom de fichier , c'est pas le resultat voulu .
eh ben, non. il y a un moment pour lire, et un moment pour écrire !
C'est le résultat à l'éxécution qui m'intéresse .
Dernière modification par Compte anonymisé (Le 13/10/2016, à 02:21)
#14 Le 13/10/2016, à 07:40
- Compte anonymisé
Re : bash: creation d'un script executable
Tel quel, ça remplace le fichier.