Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

nombre réponses : 25

#0 Re : -1 »  emplacement de la liste des lignes de commande » Le 25/03/2017, à 20:19

Watael
Réponses : 14

les commandes sont ajoutées, par défaut (c'est paramétrable), dans le fichier ~/.bash_history, au moment de la fermeture du terminal.
cela implique que si le terminal est tuer brutalement l'historique est perdu.

#1 Re : -1 »  emplacement de la liste des lignes de commande » Le 25/03/2017, à 22:02

Watael
Réponses : 14

ce fichier se trouve dans le répertoire personnel de l'utilisateur qui tape les commandes (ce qu'indique le tilde).

#2 Re : -1 »  emplacement de la liste des lignes de commande » Le 25/03/2017, à 23:38

Watael
Réponses : 14

il aurait fallu, pour ça, que tu poses la bonne question !

parce qu'il y a une différence subtile, mais bien réelle (je plaisante) entre :
« où est stocké l'historique ? »
et
« comment rediriger le résultat d'une commande ? »
!

t'es copain avec Elleji ?

#3 Re : -1 »  emplacement de la liste des lignes de commande » Le 25/03/2017, à 23:45

Watael
Réponses : 14

quelle est la commande ?
parce que, si la commande affiche dans le terminal, son résultat, chaque ligne après l'autre, il n'y a pas de raison pour que le fichier soit présenté autrement.
comment l'affiches-tu ?

#4 Re : -1 »  la difference entre deux commandes » Le 25/03/2017, à 22:53

Watael
Réponses : 13

c'est une blague ? rassure-nous, stp.

apparemment, non. c'est triste.

mais, tu fais des tests avant d'asséner de telles énormités ?

#5 Re : -1 »  la difference entre deux commandes » Le 25/03/2017, à 22:57

Watael
Réponses : 13

où est-il dit qu'une redirection vers cat conduite (pipée) vers grep permet d'afficher et de filtrer (pas trier!) ?

lire la doc ne suffit pas, il faut pratiquer.

#6 Re : -1 »  la difference entre deux commandes » Le 25/03/2017, à 23:15

Watael
Réponses : 13

d'un côté cat traite un fichier (cat fichier)
de l'autre, il traite la redirection du fichier sur l'entrée standard (< fichier cat)

#7 Re : -1 »  Comande scp [Résolu] » Le 25/03/2017, à 23:00

Watael
Réponses : 11

quand on suit un tuto, on a plus de chance de contacter son auteur sur le forum du site qui l'héberge, et d'obtenir des explications de première main.

#8 Re : -1 »  tentative de premier script: mutiplier » Hier à 00:11

Watael
Réponses : 2

salut,

Pouvez vous m'éclairer sur la façon dont je dois m'y prendre.

oui.
tu dois lire l'ABS !

il y a trop d'erreurs de syntaxe.

reprend ton script pas à pas, APRÉS avoir lu l'ABS !

#9 Re : -1 »  besoin scripts spécifiques » Le 24/03/2017, à 21:46

Watael
Réponses : 5

salut,

Travaillant sous Ubuntu

et, ça ne te fait pas trop d'ombre ?
seule la machine "travaille" sous un OS (quel qu'il soit).

1) pourquoi pas vlc ?
2) inotify est un daemon qui permet d'accomplir des actions en fonctions d'évènements sur le système de fichier.
3) le shell fait ça très bien, en appelant des programmes "spécialisés" : aplay (pour le son), inotify-send (pour afficher une petite fenêtre), ou xdialog, ou zenity, ou whiptail...
4) ? 'comprends pas. sad

#10 Re : -1 »  besoin scripts spécifiques » Le 24/03/2017, à 21:57

Watael
Réponses : 5

passe par stat : ça évite de parser ls

#11 Re : -1 »  fichier commençant par -- donne une erreur. » Le 23/03/2017, à 22:12

Watael
Réponses : 5

salut,

ce serait bien qu'on ait les messages d'erreur.

$ touch -- --{a..k}
$ for i in --*; do echo "$i"; done
--a
--b
--c
--d
--e
--f
--g
--h
--i
--j
--k

#12 Re : -1 »  [RÉSOLU] shell : commande find et caractère jocker » Le 23/03/2017, à 13:06

Watael
Réponses : 7

salut,

ça paraît correct.
pour éviter l'échappement, tu peux mettre l'expression entre guillemets, ou entre apostrophes.

pour vérifier que les fichiers remontés sont les bons, tu peux ajouter un echo dans l'exec, avant le rm.

#13 Re : -1 »  [RÉSOLU] shell : commande find et caractère jocker » Le 23/03/2017, à 16:19

Watael
Réponses : 7

le point n'a pas à être protégé, pas plus que le soulignement; et sans joker aucun fichier ne risque de  matcher.

#15 Re : -1 »  [TUTO - BASH] parser un fichier texte : ajout supp insert échange » Le 23/03/2017, à 12:06

Watael
Réponses : 4

salut,

il y a une commandepour placer le contenu d'un fichier dans un tableau ligne par ligne : mapfile (tu n'auras plus à modifier l'IFS)

expr est une commande externe inutile : le shell sait faire de l'arithmétique sur les entiers.

un échange de variable se fait avec une seule variable temporaire.

t=a
a=b
b=t

il fait mettre des guillemets autour des variables (les tableaux sont des variables ! tu n'auras plus à modifier l'IFS)

je crois que je n'ai jamais vu d'options courtes (une seule lettre) accompagnée du signe égal pour déclarer un argument...
d'autant que ce n'est pas montré dans la fonction infos.

#16 Re : -1 »  [TUTO - BASH] parser un fichier texte : ajout supp insert échange » Le 23/03/2017, à 19:59

Watael
Réponses : 4

pourquoi vouloir utiliser l'option -d de mapfile ?
comme pour read, ce n'est utile que si tu veux utiliser un autre délimiteur de fin de ligne que le retour à la ligne.

function echangerLigne1parLigne2 () {
	local a=$1
	local b=$2
# on peut se passer de ses deux variables

	t="${ToutesLesLignes[$a]}"
	ToutesLesLignes[$a]="${ToutesLesLignes[$b]}"
	ToutesLesLignes[$b]="$t"
	}

apparemment, tu as un peu de mal aevc les arguments des fonction : ça fonctionne comme les arguments d'un script.

$ myCaller() { read -a args <<<"$@"; printf '%s\n' "${args[@]}"; maFonction "${args[@]:1}";}
$ maFonction () { echo "\$2 = $2";} 
$ myCaller -e mlk poi
-e
mlk
poi
$2 = poi

et encore, ça pourrait être bien plus simple.
àmha, le signe égal pose plus de problème qu'il n'améliore les choses.

et puis, il y a getopts pour gérer les options d'un script, qui ne gère ques les options courtes par défaut, mais j'ai vu qu'il est possible de gérer aussi des options longues.
sinon, la commande externe getopt, elle, gère nativement les options longues.

#17 Re : -1 »  [résolu]différence entre dh et df ? » Le 23/03/2017, à 12:16

Watael
Réponses : 5

euh, -h, comme --human-readable

#18 Re : -1 »  AWK : opérations colonne alternant entiers et chaînes de caractères » Le 23/03/2017, à 12:21

Watael
Réponses : 3

salut,

on peut avoir un échantillon représentatif du fichier ?
il est bien au format unix (\n et pas \r\n, ni \r) ?

#19 Re : -1 »  lenteur extrême après l'achat et l'installation de ubuntu 16.04 LTS » Le 21/03/2017, à 14:08

Watael
Réponses : 11

salut MissPP,

quel est ce site qui vend Ubuntu ?
les mecs sont gonflés, ils vendent un truc gratuit !

#20 Re : -1 »  [Résolu] coller un texte dans une sélection » Le 20/03/2017, à 10:00

Watael
Réponses : 28

Ctrl-x Ctrl-v, pour bash, est un raccourci pour afficher la version de bash.

#21 Re : -1 »  Sélectionner un fichier au hasard dans un répertoire » Le 19/03/2017, à 14:09

Watael
Réponses : 10

non, c'est propre à bash, et indépendant de la machine.

mais le shell ne gère pas les nombres à virgule, donc si ${#t[@]} n'est pas un mutiple de 32767, on tombera toujours sur le premier élément du tableau : ${t[0]}

et, tant que je suis là, tableau=( $(find ...) )pose les mêmes problèmes que ls les noms de fichiers comportant des caractères de l'IFS seront scindés en éléments.
pour utiliser find pour créer un tableau, il faut parcourir sa sortie avec une boucle while.

while read -r -d '' line; do tableau+=( "$line" ); done < <(find ... print0)

#22 Re : -1 »  Sélectionner un fichier au hasard dans un répertoire » Le 20/03/2017, à 20:02

Watael
Réponses : 10
credenhill a écrit :

une division non entière ne retoune pas 0 mais l'entier inférieur

watael a écrit :

si ${#t[@]} n'est pas un multiple de 32767, on tombera toujours sur le premier élément du tableau : ${t[0]}

j'aurais dû préciser "un multiple supérieur à 32767"

$ touch {a..z}
$ ls 
a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z
$ t=(*)
$ for i in {1..10}; do echo ${t[$((RANDOM*(${#t[*]}/32767)))]}; done
a
a
a
a
a
a
a
a
a
a

EDIT: ah, j'ai compris pourquoi ma commande ne fonctionne pas comme la tienne : j'ai ajouté des parenthèses pour exécuter la division avant la multiplication. sad « forcément, [ça] va marcher beaucoup moins bien ! »

#23 Re : -1 »  [Resolu]Petit script en shell / ssh pour telechargement » Le 19/03/2017, à 12:58

Watael
Réponses : 4

salut,

reprenons pas à pas.

que veux-tu faire précisément ?

#24 Re : -1 »  [Resolu]Petit script en shell / ssh pour telechargement » Le 19/03/2017, à 14:12

Watael
Réponses : 4

a priori :

ssh user@server <<eof
wget -P /chemin/destination "$@"
eof
tonScript "lien_1" "lien_2" "lien_n+1"