70 votes

Bash : Différence entre les opérateurs > et >> ?

Je ne connais pas grand chose à propos de Bash.

Mon instructeur m'a demandé de faire un cat script et d'observer la sortie puis de dire quel est l'opérateur > et quelle est la différence entre les opérateurs > & >>.

Je suis incapable de trouver des justifications. Pouvez-vous m'aider ?

108voto

Guy Points 5465

En > est utilisé pour rediriger la sortie d'un programme vers autre chose que stdout (sortie standard, qui est le terminal par défaut).

En >> ajoute à un fichier ou crée le fichier s'il n'existe pas.
Le site > écrase le fichier s'il existe ou le crée s'il n'existe pas.

Dans les deux cas, la sortie du programme est stockée dans le fichier dont le nom est fourni après l'opérateur de redirection.

Exemples :
$ ls > allmyfiles.txt crée le fichier "allmyfiles.txt" et le remplit avec la liste des répertoires de la commande ls

$ echo "End of directory listing" >> allmyfiles.txt ajoute "End of directory listing" à la fin du fichier "allmyfiles.txt".

$ > newzerobytefile crée un nouveau fichier de zéro octet avec le nom "newzerobytefile" ou écrase un fichier existant du même nom (en lui donnant une taille de zéro octet)

-1voto

andras.tim Points 528

\=> l'opérateur utilise > pour écraser le fichier s'il existe, sinon il crée un nouveau fichier. E.X. cat >exemple1 => Si le fichier 'exemple1' existe, il sera écrasé, sinon il sera créé un nouveau fichier. => l'opérateur >> est utilisé pour ajouter la fin du fichier. E.X. cat >>exemple1

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X