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ă.