Սխալ՝ «<» օպերատորը վերապահված է հետագա օգտագործման համար։ (ԼՈՒԾՎԱԾ)


Անալոգային «<» PowerShell-ի համար

Linux-ում կարող եք օգտագործել հետևյալ կառուցվածքը.

COMMAND1 < FILE1

Այս դեպքում, COMMAND1-ը կկատարվի FILE1-ով որպես մուտքագրման աղբյուր՝ ստեղնաշարի փոխարեն, որը սովորական ստանդարտ մուտքային աղբյուր է:

«<» օպերատորը համապատասխանում է «|»-ի օգտագործմանը, որը պետք է փոխանցվի ստանդարտ մուտքագրմանը: Օրինակ, հետևյալ հրամանները նույնական են.

COMMAND1 < FILE1
cat FILE1 | COMMAND1

Փորձելով օգտագործել այս կառուցվածքը PowerShell-ում սխալ է տեղի ունենում:

Օրինակ հրաման

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

ավարտվում է հետևյալ հաղորդագրությամբ.

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

Նմանատիպ սխալ 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

Շարահյուսության փոխարեն

COMMAND1 < FILE1

դուք պետք է օգտագործեք հետևյալ կառուցվածքը.

Get-Content FILE1 | COMMAND1

Get-Content cmdlet-ը կկարդա FILE1-ի բովանդակությունը: «|» (խողովակ, փոխակրիչ) խորհրդանիշը նշանակում է բովանդակությունը փոխանցել COMMAND1-ին:

Այսպիսով, փոխարեն

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

դուք պետք է օգտագործեք հետևյալ հրամանը.

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

«./program < input.txt > output.txt» այլընտրանք PowerShell-ի համար

Հաշվի առեք շինարարությունը

./program < input.txt > output.txt

Դա նշանակում է, որ input.txt ֆայլի բովանդակությունը փոխանցվում է «program» հրամանի ստանդարտ մուտքին, իսկ ծրագրի կատարման արդյունքը վերահղվում է դեպի output.txt ֆայլ: Բայց վերը նշված հրամանը չի աշխատի:

Դիտարկված շինարարության անալոգը, որը կաշխատի PowerShell-ում, հետևյալ հրամանն է.

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

Կամ կարող եք օգտագործել PowerShell ոճի տարբերակը.

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