Réponses:
Aahhh, bashredirection: -
( pmset -g && echo && pmset -g assertions ) | open -f -a TextEdit
Cela exécute vos commandes en tant que commande bash unique (c'est l'effet de &&) dans un sous-shell (ce qui est ce qui l'enveloppe ()) et redirige la sortie du sous-shell dans TextEdit pour vous. Techniquement, vous n'avez pas à utiliser à la &&place de ;mais l'effet de la modifier est que si l'une des commandes échoue, elle arrêtera toute la chaîne à ce stade.
Remarque: Dans votre exemple, toutes les commandes sont en cours d'exécution (comme vous pouvez le prouver en exécutant simplement pmset -g; echo; pmset -g assertionssur la ligne de commande), c'est juste que vous appliquez le canal uniquement à la dernière. C'est pourquoi il doit être exécuté en sous-shell.
Remarque: vous pouvez remplacer le |caractère par >et envoyer la sortie vers un fichier si vous le souhaitez.