Posté par NBaH .
En réponse au message probleme d'argument.
Évalué à 2.
Dernière modification le 10 septembre 2016 à 20:41.
donc, comme indiqué sur les sites anglophones vers lesquels te renvoient les réponses* suivantes données précédemment ;)
tu peux :
définir la variable d'environnement PGPASSWORD pour la commande psql, ou
utiliser le "fichier de mot de passe" ~/.pgpass
Hum… je ne suis pas sûr de comprendre. Tu me dis d'utiliser un outil spécialisé, j'imagine?
non, non, c'est le formatage du code par le moteur du forum qui ch..!
${paramètre//motif/chaîne} : il s'agit, parmi les Remplacements de paramètres bash, d'une substitution de motif, qui évite l'emploi d'une commande externe (justement).
var='{"CorrelationID":"test","MessageResponse":[{"ResponseCode":4,"ResponseComment":"LineColor too long, it will be truncated"},{"ResponseCode":0,"ResponseComment":"success"}]'echo"`{mathjax} {var//`'\n'/}"{"CorrelationID":"test","MessageResponse":[{"ResponseCode":4,"ResponseComment":"LineColor too long, it will be truncated"},{"ResponseCode":0,"ResponseComment":"success"}]```
:)
¿ mathjax ? kesako ? il faut lire `echo"${var//$'\n'/}"`
quand on écrit un script en bash, la portabilité…
soit on a un shebang sh, qui dit que le script doit être portable,
soit on a un shebang bash, et on tire le meilleur parti des extensions que propose bash.
mkdir "toto a la plage"
(shopt -s nullglob
for dir in ./*/
do newDir="${dir%/*}" path="${newDir%/*}" newDir="${newDir##*/}"
echo "mv "$dir" "$path/$(set -- $newDir; echo "${@^}")""
done)
Toto A La Plage
l'usage de l'IFS n'est ici pas utile.
en effet, la boucle for n'itère pas sur le résultat d'une commande, mais sur le développement de l'astérisque, qui, lui, échappe les espaces contenus dans les noms de fichiers.
de plus,
[ -d "$toto" ] parce que si $toto contient un espace le test va geindre : «opérateur binaire attendu»
OLDIFS=IFS
IFS=OLDIFS
bah, il va être beau l'$IFS !
CTRL-d : Déplacement vers le bas d'un demi-écran.
CTRL-u : Déplacement vers le haut d'un demi-écran.
CTRL-f : Déplacement vers le bas d'un écran.
CTRL-b : Déplacement vers le haut d'un écran.
ah ben, non :) find ./ -type f -name "* *" -exec r_space.sh {} +
r_space.sh :#! /bin/bash
echo "fichiers trouvés : $@"
for file
do echo Converting "$file" to "${file// /_}"
mv "$file" "${file// /_}"
done\; retourne les fichiers un à un, donc itérer avec une boucle for n'est pas utile
+ retourne tous les fichiers trouvés d'un coup
if [ ! -d $dir ]
then
mkdir $dir
fipeut être remplacé par [ -d $dir ] || mkdir $dirainsi que toutes les autres conditions simples
if [ "$tmp" = "$dir/*.tmp" ] ça ne marchera jamais : les * ne sont pas développés entre " " et entre [ ], à moins qu'il puisse exister un fichier *.tmp !
echo $(basenamenon
:basename ... >> fichiervoire, utiliser le développement des paramètres
IFS comprend des caractères (par défaut " ' ' '\t '\n' "), et les considère comme des alternatives l'un à l'autre : (IFS='bdf' read -a var <<< "abcdefg"; echo "${var[@]}")
a c e g
Si tu n'as qu'un seul test sur requestedDist :
[\[ $requestedDist =~ hardy|jaunty|karmic|lucid|maverick ]] && cowbuilderOpts+=( --components="main universe" )ira bien.
PS: j'ai ajouté une \ entre les crochets pour les mettre en évidence, mais elle ne doit pas figurer dans le code !
la plupart des distros de récupération sont légères, justement pour être mises sur des supports légers (type clés USB) : regarder sur distrowatch, liveparted et consort...
par défaut, iptables effectue une requête DNS pour montrer l'adresse/nom de l'expéditeur
=>
iptables -n -L
!
où -n force le mode numérique (en fait, n'effectue de recherche DNS)...
?
# mékeskidi
Posté par NBaH . En réponse au message script shell. Évalué à 8.
c'est quoi ce sujet ?
les mots ont l'air d'être à leur place dans les phrases, mais je n'en comprends pas une.
c'est une traduction automatique ?
c'est moi ? ou ça vous le fait aussi ?
[^] # Re: plus précisément ?
Posté par NBaH . En réponse au message probleme d'argument. Évalué à 2. Dernière modification le 10 septembre 2016 à 20:41.
donc, comme indiqué sur les sites anglophones vers lesquels te renvoient les réponses* suivantes données précédemment ;)
tu peux :
définir la variable d'environnement PGPASSWORD pour la commande psql, ou
utiliser le "fichier de mot de passe" ~/.pgpass
*STFW!
# plus précisément ?
Posté par NBaH . En réponse au message probleme d'argument. Évalué à 1.
bonjour,
que veux-tu ?
forcer la demande du mot de passe, ou
ne pas avoir à entrer le mot de passe ?
[^] # uuog ?
Posté par NBaH . En réponse au message afficher le nom du process complet dans top, ou glance (HP-UX). Évalué à 3. Dernière modification le 02 juillet 2014 à 00:46.
Bonjour
puisque tu connais le nom de la commande :
[^] # Re: retour chariot
Posté par NBaH . En réponse au message enlever les fins de ligne du résultat de curl. Évalué à 1.
non, non, c'est le formatage du code par le moteur du forum qui ch..!
${paramètre//motif/chaîne}
: il s'agit, parmi les Remplacements de paramètres bash, d'une substitution de motif, qui évite l'emploi d'une commande externe (justement).[^] # Re: retour chariot
Posté par NBaH . En réponse au message enlever les fins de ligne du résultat de curl. Évalué à 1. Dernière modification le 16 mai 2014 à 14:40.
# retour chariot
Posté par NBaH . En réponse au message enlever les fins de ligne du résultat de curl. Évalué à 1.
peut-on voir le test que tu fais ?
peut-on voir la sortie de
curl
en la passant parod -c
?est-ce bien le retour à la ligne normal sur *n?x, qui pose problème, ou le
\r
qu'y ajoute W$ ?[^] # Re: eval expr...
Posté par NBaH . En réponse au message Quoter une variable contenant des arguments de ligne de commande. Évalué à 2.
quand on écrit un script en bash, la portabilité…
soit on a un shebang sh, qui dit que le script doit être portable,
soit on a un shebang bash, et on tire le meilleur parti des extensions que propose bash.
# avec un tableau ?
Posté par NBaH . En réponse au message Quoter une variable contenant des arguments de ligne de commande. Évalué à 3.
Bonjour,
±
[^] # Re: en full bash ...oops
Posté par NBaH . En réponse au message Majuscules et minuscule dans les noms de repertoires. Évalué à 1.
mv "./toto a la plage/" "./Toto A La Plage"
[^] # Re: en full bash ...
Posté par NBaH . En réponse au message Majuscules et minuscule dans les noms de repertoires. Évalué à 1.
mkdir "toto a la plage"
(shopt -s nullglob
for dir in ./*/
do newDir="${dir%/*}" path="${newDir%/*}" newDir="${newDir##*/}"
echo "mv "$dir" "$path/$(set -- $newDir; echo "${@^}")""
done)
Toto A La Plage
autre chose ? Je peux... ?
[^] # Re: en bash ....
Posté par NBaH . En réponse au message Majuscules et minuscule dans les noms de repertoires. Évalué à 1.
Bonjour,
l'usage de l'IFS n'est ici pas utile.
en effet, la boucle for n'itère pas sur le résultat d'une commande, mais sur le développement de l'astérisque, qui, lui, échappe les espaces contenus dans les noms de fichiers.
de plus,
[ -d "$toto" ] parce que si $toto contient un espace le test va geindre : «opérateur binaire attendu»
OLDIFS=IFS
IFS=OLDIFS
bah, il va être beau l'$IFS !
# :help
Posté par NBaH . En réponse au message Raccourcis pour changer de page dans vim. Évalué à 7.
# en bash
Posté par NBaH . En réponse au message Découpage d'un fichier EML. Évalué à 2.
...
?
# Debian y a déjà pensé
Posté par NBaH . En réponse au message Installer les même paquets d'un ordinateur à un autre pour debian / Ubuntu. Évalué à 10.
transfert du fichier monInstallation sur une autre machine. puis, sur cette autre machine :
[^] # Re: ls ?
Posté par NBaH . En réponse au message Boucle for ne prend pas en compte les lignes. Évalué à 2.
for i in * ; do [ -f "$i" ] && mkdir "${i%%-*}" ; done
[^] # Re: Fait
Posté par NBaH . En réponse au message Remplacer les espaces blanches dans les noms de fichier d'une arborescence par des underscores. Évalué à 2.
find ./ -type f -name "* *" -exec r_space.sh {} +
r_space.sh :
#! /bin/bash
\; retourne les fichiers un à un, donc itérer avec une boucle for n'est pas utileecho "fichiers trouvés : $@"
for file
do echo Converting "$file" to "${file// /_}"
mv "$file" "${file// /_}"
done
+ retourne tous les fichiers trouvés d'un coup
# plus tout ce que je n'ai pas vu...
Posté par NBaH . En réponse au message Un gestionnaire de téléchargement en shell. Évalué à 4.
if [ ! -d $dir ]
peut être remplacé parthen
mkdir $dir
fi
[ -d $dir ] || mkdir $dir
ainsi que toutes les autres conditions simplesif [ "$tmp" = "$dir/*.tmp" ]
ça ne marchera jamais : les * ne sont pas développés entre " " et entre [ ], à moins qu'il puisse exister un fichier *.tmp !echo $(basename
non:
basename ... >> fichier
voire, utiliser le développement des paramètres[^] # oula !
Posté par NBaH . En réponse au message remplacement valeur attribut xml particulier. Évalué à 0.
(IFS='bdf' read -a var <<< "abcdefg"; echo "${var[@]}")
a c e g
[^] # case pour une seule condition ?
Posté par NBaH . En réponse au message bash : construction d'une ligne de commande dont certains arguments contiennent des espaces. Évalué à 2.
ira bien.[\[ $requestedDist =~ hardy|jaunty|karmic|lucid|maverick ]] && cowbuilderOpts+=( --components="main universe" )
PS: j'ai ajouté une \ entre les crochets pour les mettre en évidence, mais elle ne doit pas figurer dans le code !
# array/liste
Posté par NBaH . En réponse au message bash : construction d'une ligne de commande dont certains arguments contiennent des espaces. Évalué à 4.
cowbuilderOpts=( --autocleanaptcache --debootstrap=cdebootstrap )
Tu devrais prendre l'habitude de ne pas nommer tes variables tout en majusculesrequestedDist=lucid
case $requestedDist in
# universe is required for ubuntu
hardy|jaunty|karmic|lucid|maverick)
cowbuilderOpts+=( --components="main universe" )
;;
esac
for opt in "${cowbuilderOpts[@]}"; do echo $opt; done
# apt-install ?
Posté par NBaH . En réponse au message apt-install ?. Évalué à 2.
apparemment pas dans mes dépôts Squeeze
# blossom, comme
Posté par NBaH . En réponse au message qu'en pensez-vous ? le site web d'un webdesigner & webdéveloppeur. Évalué à 4.
web designer, c'est quoi, Damidot sur internet
oui, je suis méchant !
# la solution universelle
Posté par NBaH . En réponse au message Distro légère en français?. Évalué à 1.
< / vendredi >
la plupart des distros de récupération sont légères, justement pour être mises sur des supports légers (type clés USB) : regarder sur distrowatch, liveparted et consort...
[^] # Re: fail2ban
Posté par NBaH . En réponse au message Configuration ignore IP de fail2ban. Évalué à 2.
=>
iptables -n -L
!
où -n force le mode numérique (en fait, n'effectue de recherche DNS)...
?