Gabim Operatori < është i rezervuar për përdorim në të ardhmen. (E ZGJIDHUR)


Analog < për PowerShell

Në Linux, mund të përdorni konstruktin e mëposhtëm:


COMMAND1 < FILE1

Në këtë rast, COMMAND1 do të ekzekutohet me FILE1 si burim hyrës në vend të tastierës, e cila është burimi normal standard i hyrjes.

Operatori < korrespondon me përdorimin e | për t'u kaluar në hyrje standarde. Për shembull, komandat e mëposhtme janë identike:


COMMAND1 < FILE1
cat FILE1 | COMMAND1

Përpjekja për të përdorur këtë konstrukt në PowerShell sjell një gabim.

Për shembull komanda


mysql -uroot < C:\Users\MiAl\Downloads\all-databases.sql

përfundon me mesazhin e mëposhtëm:


ParserError:
Line |
   1 |  mysql -uroot < C:\Users\MiAl\Downloads\all-databases.sql
     |               ~
     | The '<' operator is reserved for future use.

Gabim i ngjashëm në PowerShell 5:


string:1 character:14
+ mysql -uroot < C:\Users\MiAl\Downloads\all-databases.sql
+              ~
The '<' operator is reserved for future use.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : RedirectionNotSupported

Në vend të sintaksës


COMMAND1 < FILE1

ju duhet të përdorni strukturën e mëposhtme:


Get-Content FILE1 | COMMAND1

cmdlet Get-Content do të lexojë përmbajtjen e FILE1. Simboli | (tub, transportues) do të thotë të kalosh përmbajtjen te COMMAND1.

Kështu, në vend të


mysql -uroot < C:\Users\MiAl\Downloads\all-databases.sql

ju duhet të përdorni komandën e mëposhtme:


Get-Content C:\Users\MiAl\Downloads\all-databases.sql | .\mysql -uroot

Alternativa ./program < input.txt > output.txt për PowerShell

Merrni parasysh ndërtimin


./program < input.txt > output.txt

Do të thotë që përmbajtja e skedarit input.txt kalohet në hyrjen standarde të komandës program dhe rezultati i ekzekutimit të programit ridrejtohet në output.txt. Por komanda e mësipërme nuk do të funksionojë.

Një analog i ndërtimit të konsideruar, i cili do të funksionojë në PowerShell, është komanda e mëposhtme:


Get-Content INPUT.txt | ./program > output.txt

Ose mund të përdorni variantin e stilit PowerShell:


Get-Content INPUT.txt | ./program | Out-File output.txt