Czy można podzielić wiersz poleceń programu PowerShell na wiele wierszy?
W Visual Basic mogę użyć znaku podkreślenia ( _
), aby kontynuować polecenie w następnym wierszu.
powershell
multiline
eXXL
źródło
źródło
sh
polecenia, obowiązują konwencje bash, abyś mógł używać odwrotnego ukośnika. W takim przypadku skrypt powinien mieć również zakończenia w stylu uniksowym.Odpowiedzi:
Możesz użyć spacji, a następnie grobowego akcentu (kliknięcie w tył):
Jest to jednak konieczne tylko w takich przypadkach, jak pokazano powyżej. Zwykle uzyskuje się automatyczną kontynuację linii, gdy polecenie nie może być w tym momencie zakończone składniowo. Obejmuje to uruchomienie nowego elementu potoku:
będzie działać bezproblemowo, ponieważ po wykonaniu
|
polecenia nie można ukończyć, ponieważ brakuje innego elementu potoku. Również otwieranie nawiasów klamrowych lub innego rodzaju nawiasów pozwoli bezpośrednio kontynuować linię:Podobnie
|
jak przecinek, działa również w niektórych kontekstach:Należy pamiętać jednak, podobny do JavaScript za automatycznego wstawiania średnik , istnieje kilka rzeczy, które są podobnie łamane, ponieważ przerwa linia występuje w punkcie, gdzie to jest poprzedzone poprawnym stwierdzeniem:
nie będzie działać.
Wreszcie ciągi (we wszystkich odmianach) mogą również rozciągać się poza jedną linię:
Uwzględniają zatem podział wiersza w ciągu.
źródło
|
i{
.Właśnie się dowiedziałem, że między tyknięciem wstecznym a łamaniem linii nie może być żadnego znaku. Nawet białe znaki spowodują, że polecenie nie będzie działać.
źródło
W większości języków podobnych do C zastanawiam się nad umieszczeniem nawiasów klamrowych w miejscu, które moim zdaniem ułatwi ich odczytanie.
Analizator składni programu PowerShell rozpoznaje, kiedy instrukcja wyraźnie nie jest kompletna, i przechodzi do następnego wiersza. Na przykład wyobraź sobie cmdlet, który pobiera opcjonalny parametr bloku skryptu:
jeśli blok skryptu jest bardzo długi, możesz napisać:
Ale to nie zadziała: parser zobaczy dwie instrukcje. Pierwszym jest,
Get-Foo
a drugim blokiem skryptu. Zamiast tego piszę:Mógłbym użyć znaku kontynuacji linii (`), ale to sprawia, że kod jest trudny do odczytania i powoduje błędy.
Ponieważ ten przypadek wymaga otwarcia nawiasu klamrowego w poprzedniej linii, wszędzie podążam za tym wzorem:
Po prostu, w przypadku długich rurociągów, łamię się po znaku potoku (
|
):źródło
if
iforeach
itry
praca wtedy? pozwalają na blokowanie skryptów w następnym wierszu ... to znaczy, że to możliweAby rozwinąć odpowiedź cristobalito :
Na przykład:
Podpisuj skrypt PowerShell w wierszu polecenia. Brak podziałów linii.
źródło
W PowerShell i PowerShell ISE można również używać Shift+ Enterna końcu każdej linii do edycji wielowierszowej (zamiast standardowego backticka
`
).źródło
SHIFT-ENTER
sztuczki.PSReadLine
modułu lub równoważnego. W standardowych funkcji wejściowych konsoli WindowsEnter
iShift+Enter
są funkcjonalnie równoważne.PSReadline
Moduł działa tylko na hoście konsoli (nie na ISE). 2)Shift+Enter
działa na hoście konsoli tylko podczas używaniaPSReadline
. 3)Shift+Enter
zawsze pracował w ISE. 4) Jeśli używasz hosta konsoli bezPSReadline
,Shift+Enter
jest to funkcjonalnie równoważne z naciśnięciemEnter
.Jeśli próbujesz rozdzielić ciągi znaków na wiele wierszy, możesz użyć znaku „+”. Na przykład:
Będzie wyglądał tak:
źródło
Zakładam, że mówisz o wierszu polecenia - jeśli jest w skrypcie, to nowy wiersz działa jak separator poleceń.
W wierszu polecenia użyj średnika „;”
źródło
;
aby oddzielić polecenie\\
odwrotny\
."'
do przekazywania bezpiecznego adresu, aby przełączać polecenia takie jak „PATH”.To polecenie ps1 zainstaluj lokalny certyfikat pfx.
źródło
Jest tak wiele sposobów kontynuowania linii w PowerShell, z potokami, nawiasami, nawiasami, operatorami, kropkami, nawet przecinkiem. Oto blog na ten temat: https://get-powershellblog.blogspot.com/2017/07/bye-bye-backtick-natural-line.html
Możesz kontynuować zaraz po oświadczeniach takich jak foreach i jeśli również.
źródło
źródło
nie używa cudzysłowu
źródło
Wystarczy użyć znaku `, aby rozdzielić polecenia na multilinii
źródło
Po prostu dodaj tutaj skrzynkę narożną. Może ci to zaoszczędzić 5 minut. Jeśli używasz łańcucha działań, musisz wpisać „.” na końcu wiersza pozostaw spację, po której następuje „(”). Przekonałem się o tym na własnej skórze.
źródło