quelque soit l'état de sortie retourné par ping, il affiche le résultat de la commande sur la sortie standard (à moins d'avoir commis une erreur dans la rédaction de la commande).
Par contre, son code de retour sera supérieur à 0 si la commande n'aboutit pas correctement.if ! ping -c 1 bckk >/dev/null 2>&1; then echo "bckk n'est pas joignable"; fi...
?
D'après certains sites, il n'était pas conseillé d'utiliser la boucle for mais la boucle while ....
Faut voir le contexte...je veux bien des références...
$ mkdir monRep
$ touch monRep/test{,\ }file1
$ \ls -1 monRep
filetest
file test1
$ for i in monRep/*; do echo "$i"; done
monRep/testfile1
monRep/test file1... pas de problèmes avec les espaces dans les noms de fichiers !
--
"certains sites" sont rédigées par des débutants en shell, en guise d'aide mémoire, et propagent des erreurs qu'ils ont trouvés sur des sites similaires, ou anciens, ou qu'ils ont mal interprété.
Sur ces sites, on peut, en général, lire des horreurs telles que cat monFichier | grep expret autres joyeux uuoc.
ls -d *.mp3 | awk -F"-" '{print $1}' | sed 's/ /\\ /g' > file.txt
Tu veux pas ajouter un grep pour faire exactement ce qu'il ne faut pas faire ?
et puis, traiter la sortie d'un ls est rarement pertinent.
On pourrait utiliser find : find . -maxdepth 1 -type d -iname "*.mp3" -exec mkdir '{}' \;
ou bash : for item in *.mp3; do
[ -d "$item" ] && mkdir "$item"
done
Sur le coup, cela ne m'avait pas plus titillé que ça (allez savoir pourquoi ^^), mais c'est vrai que c'est discriminant de ne demander à un homme -que_ d'être "un mec vraiment bien", mais à une femme d'être "une super informaticienne".
C'est à dire, selon le sexe, de privilégier les qualités humaines aux compétences techniques...
Embaucherait-on une personne qui n'est pas compétente, mais qui est un homme sympathique, mais pas une femme qui a les mêmes talents de société ?
Sur Debian GNU/Linux, je lance mes scripts iptables depuis /etc/network/interfaces, grâce aux 'commandes' pre-up, up, post-up... pour chaque interface que je souhaite configurer.
ZynAddSubFX n'a pas forcément besoin de jack (il faut peut-être voir les options de compilation selon la distribution utilisée), mais peut aussi s'en servir pour rediriger la sortie vers Ardour, par exemple.
une toute petite remarque, pour signaler que l'affichage vertical de tableau est simplifié par l'usage de la commande printf.
Donc au lieu de echo "${arr[@]}" | tr ' ' '\n'utiliserprintf '%s\n' "${arr[@]}"
Bash ne gérant les décimaux, cela me parait correct.
«Je ne comprends pas le commentaire sur les opérationsévaluations arithmétiques (elles sont correctes).»
Et oui, et non : cf. `help test` [ $varNum1 -eq $varNum2 ] && echo "$varNum1 est égal à $varNum2"etc...
La forme `COMMAND` est obsolescente, il faudrait lui préférer la forme $(COMMAND)
Les echo $var | COMMAND, c'est moche, je préfère COMMAND <<<$var
Aussi,if (( `echo $var ==...
if (( $var ==...enfin, je veux dire : if [ $var -eq...
Et pour l'indentation : merci, c'est pas des plus lisible.
Quant à savoir si on peut faire plus simple, et comment l'adapter pour qu'il fonctionne avec plus deux arguments ???
à noter que les "marqueurs" d'évaluation arithmétique ne sont pas indispensables : st=7845124512200904091025.pdf
echo ${st:${#st}-16:8}fonctionne aussi bien...
Y a-t-il une raison pour préférer l'usage de `| xargs` plutôt que l'option -exec de find : find <dossier_de_départ> -exec grep <motif> {} +
Il ne semble même pas utile de préciser le type, puisque -exec ne s'applique qu'au fichier normaux
...
?
Posté par NBaH .
En réponse au message Question sed.
Évalué à 0.
tiens ? les tabulations n'apparaîssent pas, mais elles sont bien dans test/gremous.txt.
Donc, lisez :
td width="40%" class = "br_tb">prints(m_IPaddr); :
td colspan=2 class = "bl_tb" >
tabtabtab117.18.244.113
[^] # Re: Erreur de configuration ?
Posté par NBaH . En réponse au message [bind9] syslog. Évalué à 1.
# erreta
Posté par NBaH . En réponse au message [bind9] syslog. Évalué à 2.
bien sûr :
bonjour,
comment allez-vous ? la famille ?
et
merci
[^] # oui
Posté par NBaH . En réponse au message Generer une erreur dans stderr (Bash Shell). Évalué à 1.
# mauvais exemple
Posté par NBaH . En réponse au message Generer une erreur dans stderr (Bash Shell). Évalué à 1.
Par contre, son code de retour sera supérieur à 0 si la commande n'aboutit pas correctement.
if ! ping -c 1 bckk >/dev/null 2>&1; then echo "bckk n'est pas joignable"; fi
...?
[^] # Re: PCIID ?
Posté par NBaH . En réponse au message Fedora 12, nouveau, et Xorg qui ne se lance pas. Évalué à 1.
00:0f.0 VGA compatible controller: [...]
echo $((16#0f))
15
=> BusID "PCI:0:15:0"
# en Bash
Posté par NBaH . En réponse au message Hachage d'un document .csv. Évalué à 4.
while IFS="," read pays ville num
do echo "${pays::3}${ville//\"}${num:2:1}"
done <nanard06.csv
fraparis1
fralyon2
chipekin1
[^] # On trouve tout et n'importe quoi sur le net.
Posté par NBaH . En réponse au message Garder l'anti slash dans la variable. Évalué à 2.
Faut voir le contexte...je veux bien des références...
$ mkdir monRep
... pas de problèmes avec les espaces dans les noms de fichiers !$ touch monRep/test{,\ }file1
$ \ls -1 monRep
filetest
file test1
$ for i in monRep/*; do echo "$i"; done
monRep/testfile1
monRep/test file1
--
"certains sites" sont rédigées par des débutants en shell, en guise d'aide mémoire, et propagent des erreurs qu'ils ont trouvés sur des sites similaires, ou anciens, ou qu'ils ont mal interprété.
Sur ces sites, on peut, en général, lire des horreurs telles que
cat monFichier | grep expr
et autres joyeux uuoc.# on peut toujours faire plus de détours
Posté par NBaH . En réponse au message Garder l'anti slash dans la variable. Évalué à 2.
ls -d *.mp3 | awk -F"-" '{print $1}' | sed 's/ /\\ /g' > file.txt
Tu veux pas ajouter un grep pour faire exactement ce qu'il ne faut pas faire ?
et puis, traiter la sortie d'un ls est rarement pertinent.
On pourrait utiliser find :
find . -maxdepth 1 -type d -iname "*.mp3" -exec mkdir '{}' \;
ou bash :
for item in *.mp3; do
[ -d "$item" ] && mkdir "$item"
done
[^] # Re: elle a raison, IANAL
Posté par NBaH . En réponse au message Pôle-emploi et la HALDE. Évalué à 8.
Voilà une phrase que je voudrais ne plus ni lire ni entendre.
Présumer des capacités d'une personne, de par son origine ou son sexe, peut être, non, est, une discrimination !
--
't***, y a pas d'filles sur ce forum ?
# elle a raison
Posté par NBaH . En réponse au message Pôle-emploi et la HALDE. Évalué à 8.
C'est à dire, selon le sexe, de privilégier les qualités humaines aux compétences techniques...
Embaucherait-on une personne qui n'est pas compétente, mais qui est un homme sympathique, mais pas une femme qui a les mêmes talents de société ?
# je répond, mais
Posté par NBaH . En réponse au message Créer un bouton qui lance Apache. Évalué à 2.
c'est vraiment le mauvais alibi !
Si tu es maître de ta machine, tu dois pouvoir déplacer le démarrage d'apache, en sorte qu'il soit après *DM; un peu le fait Windows.
Il faudrait gratter un peu plus du côté de `update-rc.d` pour les systèmes Debian-like (pour les RH-like, je ne sais pas).
# donne le chemin...
Posté par NBaH . En réponse au message [ssh] authentification RSA/DSA avec plusieurs poste. Évalué à 0.
> ssh -i /montageBoulot/TaCleUSB/leFichierID ton_user@ta_machine
# /etc/network/interfaces
Posté par NBaH . En réponse au message Script de démarrage du pare-feu. Évalué à 2.
Sur Debian GNU/Linux, je lance mes scripts iptables depuis /etc/network/interfaces, grâce aux 'commandes' pre-up, up, post-up... pour chaque interface que je souhaite configurer.
# ???
Posté par NBaH . En réponse au message inserer un espace dans une sortie de 'cut'. Évalué à 2.
bash
cat test.dat
S 192.168.1.4 60477 208.80.152.2 8080
S 192.168.1.4 60477 208.80.152.2 8080
S 192.168.1.4 60477 208.80.152.2 8080
S 192.168.1.4 60477 208.80.152.2 8080
S 192.168.1.4 60477 208.80.152.2 8080
cut --output-delimiter=' -- ' -c'3-5,7-10,15-' $dat
192 -- 168. -- 60477 208.80.152.2 8080
192 -- 168. -- 60477 208.80.152.2 8080
192 -- 168. -- 60477 208.80.152.2 8080
192 -- 168. -- 60477 208.80.152.2 8080
192 -- 168. -- 60477 208.80.152.2 8080[/code]
# ip_forward à 1
Posté par NBaH . En réponse au message Netfilter / Iptables : Redirection de port. Évalué à 1.
/proc/sys/net/ipv4/ip_forward est bien à 1 ?
# synthé
Posté par NBaH . En réponse au message Synthétiseur audio pour clavier midi. Évalué à 1.
[http://www.linuxmao.org/tikiwiki/tiki-index.php?page=ZynAddS(...)]
# Ah ouais !
Posté par NBaH . En réponse au message Comparaison de deux entiers sous bash. Évalué à 1.
Donc au lieu de
echo "${arr[@]}" | tr ' ' '\n'
utiliserprintf '%s\n' "${arr[@]}"
[^] # Re: Non c'est pas si con.
Posté par NBaH . En réponse au message Comparaison de deux entiers sous bash. Évalué à 1.
«Je ne comprends pas le commentaire sur les opérations évaluations arithmétiques (elles sont correctes).»
Et oui, et non : cf. `help test`
[ $varNum1 -eq $varNum2 ] && echo "$varNum1 est égal à $varNum2"
etc...La forme
`COMMAND`
est obsolescente, il faudrait lui préférer la forme$(COMMAND)
Les
echo $var | COMMAND
, c'est moche, je préfèreCOMMAND <<<$var
Aussi,
if (( `echo $var ==...
enfin, je veux dire :if (( $var ==...
if [ $var -eq...
Et pour l'indentation : merci, c'est pas des plus lisible.
Quant à savoir si on peut faire plus simple, et comment l'adapter pour qu'il fonctionne avec plus deux arguments ???
[^] # Re: Directement en bash
Posté par NBaH . En réponse au message cut sur chaine en commencant par la fin. Évalué à 2.
st=7845124512200904091025.pdf
fonctionne aussi bien...echo ${st:${#st}-16:8}
# pour le réseau
Posté par NBaH . En réponse au message Service à la demande.... Évalué à 2.
mais peut-être pas pour le matériel
...
?
# animate fait ça
Posté par NBaH . En réponse au message bash imagemagick display. Évalué à 2.
ou dans un webbrowser : file:///usr/share/doc/imagemagick/www/animate.html
ou http://www.imagemagick.org/www/animate.html
[^] # Re: si j'étais méchant
Posté par NBaH . En réponse au message niveau de recherche dans répertoire - reference croisé. Évalué à 3.
find <dossier_de_départ> -exec grep <motif> {} +
Il ne semble même pas utile de préciser le type, puisque -exec ne s'applique qu'au fichier normaux
...
?
# lecture syslog + whois
Posté par NBaH . En réponse au message pb execution d'un script lire ligne a ligne plus whois des resultats. Évalué à 4.
#!/bin/bash
for i in $(sed -n '/UFW/s/.*SRC=\([^ ]*\) .*/\1/p' /var/log/syslog); do
if [ ! "${i/192.168.*/local}" = "local" ]; then
echo $i
whois $i
fi
done
Cela devrait fonctionner. Si ce n'est pas le cas, fait nous parvenir quelques lignes d'exemples de ton syslog.
[^] # Re: Réponse sed
Posté par NBaH . En réponse au message Question sed. Évalué à 0.
Donc, lisez :
td width="40%" class = "br_tb">prints(m_IPaddr); :
td colspan=2 class = "bl_tb" >
tabtabtab117.18.244.113
# Réponse sed
Posté par NBaH . En réponse au message Question sed. Évalué à 4.
td width="40%" class = "br_tb">prints(m_IPaddr); :
td colspan=2 class = "bl_tb" >
117.18.244.113
sed -n '/prints(m_IPaddr)/N; N; s/.*\t\+\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)$/\1/p' test/gremous.txt
117.18.244.113