Czy to możliwe? W końcu zdecydowałem się rozpocząć konfigurowanie mojego osobistego środowiska programistycznego .NET, aby bliżej naśladować, jak skonfigurować środowisko programistyczne * NIX, co oznacza uczenie się Powershell na serio.Jak przechwytywać sygnały w programie PowerShell?
Obecnie piszę funkcję, która powtarza się przez system plików, ustawiając katalog roboczy w celu tworzenia rzeczy. Jedną z małych rzeczy, która mi przeszkadza, jest to, że jeśli Ctrl + C z funkcji, pozostawia mnie tam, gdzie jest ostatni scenariusz. Próbowałem ustawić blok trap
, który zmienia katalog do punktu początkowego po uruchomieniu, ale wydaje się, że jest to przeznaczone (i ognia) na wyjątek.
Jeśli był to język, który miał root w Uniksie, skonfigurowałbym obsługę sygnału dla SIGINT
, ale nie mogę znaleźć niczego podobnego, szukając w Powershell. Zakładając czapkę .NET, wyobrażam sobie, że jest jakieś wydarzenie, do którego mogę dołączyć opiekuna, a jeśli miałbym zgadywać, byłoby to zdarzenie $host
, ale nie mogę znaleźć żadnej dokumentacji kanonicznej dla System.Management.Automation.Internal.Host.InternalHostUserInterface
i nic anegdotycznego, co udało mi się wyszukać, okazało się pomocne.
Być może brakuje mi czegoś całkowicie oczywistego?
Wreszcie prosta rozwiązanie oczyścić CTRL-C (zakończone zadanie: – Callahan