L'objectif est de ne même pas démarrer $ foo s'il n'y a pas d'entrée.
Cela peut être utile si foo = "diff - xyz", et que l'entrée est manquante ou vide. Sinon, diff produirait tout le "xyz" comme différence.
Le problème original est que "cat doesnotexist | diff-exists" sort le contenu de "exists" (préfixé par ">"), alors que je veux que le tube entier échoue. Ma solution actuelle est:
cat doesnotexist | (read first|| exit 1; (echo "$first"; cat) | diff - exists)
, mais je voudrais une plus courte.
Eh bien, l'entrée est sur un noeud distant, et le diff est en cours d'exécution localement, donc l'utilisation de -f serait encore plus verbeuse que l'extrait de titre. Ainsi, la valeur ajoutée du tube est qu'il récupère les données distantes. Son entrée ressemble à "ssh -x -e none -C who @ où chat doesnotexist |", mais cela est apparu comme un détail inutile pour moi, donc je n'ai pas dit. :-) – Rainer
Dans ce cas vous pourriez utiliser un "scp -C who @ where: doesnotexist. && diff doesnotexist existe" –
Ouais, je pourrais aussi bien. Besoin de nettoyer "doesnotexist" après, mais c'est plus direct. Merci. – Rainer