Je l'ai tapé par erreur mais bash n'a imprimé aucune erreur (mais a créé un fichier vide) alors j'ai pensé que cela signifiait peut-être quelque chose? (par exemple date |> tmp.txt)
bash
io-redirection
Bdimych2 Bdimych2
la source
la source
date |> tmp.txt cmd2
? Parce que cela change la réponse.Réponses:
Cela semble être juste un pipeline où la deuxième partie est une commande vide, contenant uniquement la redirection. Le
date | >file
rédiger comme pourrait le rendre plus facile à interpréter. La commande vide ne fait rien d'autre que traiter la redirection, créant le fichier.date >| file
d'autre part agirait comme un remplacement pour l'noclobber
option shell, ce qui empêche le régulier>
d'écraser les fichiers existants.la source
Oui, il ne générera pas d'erreur car pour bash
> file
signifie rediriger vers un fichier nomméfile
. Comme dans votre cas, il n'y a rien à rediriger vers un fichier, bash créera simplement un nom de fichierfile
sans rien.la source
my_file
contient la sortie dedate
.zsh
, lorsqu'il n'y a que des redirections et aucune commande,zsh
exécute la$NULLCMD
commande (cat
par défaut) ou$READNULLCMD
(un pager par défaut) s'il n'y a que des redirections d' entrée .