Dacă py EulerianCycle.py euleriancycle.txt scrie în fluxul de ieșire standard (ceea ce presupun că face, deoarece altfel nu l-ați putea trimite la pisică) atunci pisică este complet de prisos aici - puteți redirecționa direct ieșirea standard, specificând calea absolută sau relativă către fișierul de ieșire:
py EulerianCycle.py euleriancycle.txt > outputs/euleriancycleout.txt
(notă: directorul iesiri/ trebuie să existe deja).
Niciuna dintre celelalte comenzi ale tale nu funcționează așa cum ți-ai putea imagina.
în py EulerianCycle euleriancycle.txt > cat euleriancycleout.txt, shell-ul creează un fișier numit pisică în directorul curent și redirecționează rezultatul py EulerianCycle la ea, trecând ambii euleriancycle.txt și euleriancycleout.txt lui ca argumente de intrare.
în py EulerianCycle.py euleriancycle.txt | cat >cd outputs/euleriancycleout.txt, shell-ul creează un fișier numit CD în directorul curent, pisică citeste outputs/euleriancycleout.txt și îl scrie în fișier CD, ignorând intrarea standard de la conductă (pisică citește doar intrarea standard atunci când nu i se oferă niciun fișier de intrare sau un explicit -).
Poate că ceea ce țintii aici a fost să conduci ieșirea către a subshell ca:
py EulerianCycle.py euleriancycle.txt | (ieșiri CD; cat > euleriancycleout.txt)
sau
py EulerianCycle.py euleriancycle.txt | (ieșiri CD && cat > euleriancycleout.txt)
Aici, pisică citește intrarea standard a subshell-ului - care este furnizată de conductă - după schimbarea în directorul țintă. A doua versiune doar creează euleriancycleout.txt dacă CD comanda reușește; primul îl creează în directorul curent dacă CD eșuează.