Bash: Différence entre> et >> opérateur? [fermé]

38

Je suis novice et je ne sais pas grand chose à propos de bash.my mon instructeur m’a demandé de faire un script de chat et un observateur de la sortie, puis de dire quel est l'opérateur> et quelle est la différence entre> et >> opérateur? et je suis incapable de trouver des justifications.so, aucune aide s'il vous plaît :)

jumbo18
la source
Vous pouvez jouer avec des fichiers temporaires pour faire la différence entre >> et>.
Halp

Réponses:

61

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

Le >> ajoute à un fichier ou crée le fichier s'il n'existe pas.
Le> é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 de répertoires à partir de la commande ls

$ echo "End of directory listing" >> allmyfiles.txt ajoute "Liste de fin de répertoire" à 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 (la taille est alors égale à zéro octet)

Andyhky
la source
3
Encore plus d’intérêt pour la redirection d’IO: tldp.org/LDP/abs/html/io-redirection.html
Tim Bielawa
0

=> l'opérateur> utilisé pour écraser le fichier s'il existe d'une autre manière, il créera un nouveau fichier EX cat> exemple1 => Si le fichier 'exemple1' est existant, il sera écrasé autrement sinon créer un nouveau fichier => l'opérateur >> à utiliser la fin du fichier EX cat >> exemple1

Godani Bhavesh
la source
4
Ce sont exactement les mêmes informations que andyh_ky posté précédemment. Il ne sert à rien de répéter une réponse précédente. Il est également inutile d'ajouter un commentaire sans signification.
John Gardeniers
-4

Impossible de localiser la page de manuel de bash ? Il suffit de taper man bash à l'invite de commande.

adamo
la source
Vous pouvez essayer d'ajouter du contenu utile à votre commentaire. Ils ont juste eu un billet de blog qui parle de réponses de style RTFM. Blog.serverfault.com/post/1306724710/rtfm Peut-être pourriez -vous mentionner que les opérateurs> et >> sont utilisés pour la redirection IO tldp.org/LDP/abs/html/io -redirection.html De même, <est utilisé pour lire un fichier en stdin.
Tim Bielawa
Je suis d'accord avec @ Tim. Je suis tout à fait en faveur de la méthode d'apprentissage "apprendre à un homme à pêcher". Dans ce cas, cependant, et surtout pour un débutant, il y a zéro indication que redirecteurs de sortie sont gérées par le shell de l'utilisateur.
EEAA
-1 parce que la page de manuel bash est l’une des plus difficiles à suivre, avec laquelle je dois traiter régulièrement.
Sparr
Oh allez! Ce n'est pas RTFM! Vous pouvez aller à la page de manuel de bash (et j’y ai fourni un lien), appuyez sur ctrl-F et tapez >> La première chose qu’il montre est l’utilisation de >> Plus, cette question est un devoir: répondons-nous à répondu par andyh_ky) ou montrons-nous où se trouve la réponse?
Adamo
Comment lui dire de rechercher "la page de manuel de bash" n'est-il pas un cas de Read The F ****** Manual? Il contient même le mot manuel!
Sam Cogan