(2 réponses)
Fermé il y a 6 ans.
-
La redirection n'est pas autorisée ici. Est
cat
ne permettant pas ? Mais la redirection
n'est-elle pas indépendante de toute commande exécutée avec elle ?$ cat bk > bk cat: bk: input file is output file
-
Pourquoi la redirection suivante vide-t-elle le fichier :
$ less bk > bk
awk
fonctionne également de la même manière queless
en matière de redirection.awk
est celui avec lequel j'ai effectivement trouvé le problème, alors que les exemples ci-dessus n'ont aucun sens
En général, quelle est la bonne façon d'utiliser la redirection ?
Réponse acceptée :
Le problème est que la redirection de sortie tue le fichier avant less
est même démarré :
open("file", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
dup2(3, 1) = 1
close(3) = 0
execve("/usr/bin/less", ["less", "-WNS", "file"], [/* 102 vars */]) = 0
La redirection de sortie normale écrase le fichier. Le O_TRUNC
(voir man 2 open
) supprime le contenu du fichier.