Nie, jest na odwrót. Brak danych łyżkowych ^ H ^ H ^ Dane strukturalne. Jest tylko tekst.
Duża część filozofii uniksowej opiera się na idei wyprowadzania tekstu i akceptowania tekstu jako danych wejściowych. Warto rozważyć przeczytanie „ The Art of Unix Programming ”, które zawiera ładne wyjaśnienie na ten temat.
Nie zrozum mnie źle: rozumiem twój punkt widzenia i wiem, do czego dążysz. Są takie rzeczy, jak interaktywne interpretatory Ruby i Python, które mogą być używane jako powłoka, ale nie są tak przyjazne dla podstawowych zadań jak Bash. Spróbuj na przykład zmienić katalog.
Ponadto używanie obiektów w powłoce to nie wszystko. Jeśli tylko twoja powłoka to obsługuje, na Unixie byłbyś na straty. Wszystkie standardowe narzędzia do manipulacji tekstem w Uniksie musiałyby zostać zmienione, takie jak grep, awk, sed itp.
Myślę, że kilka lat temu podjęto próbę stworzenia czegoś takiego, ale nie pamiętam nazwy i od dawna o niej nie słyszałem. Prawdopodobnie nie wystartuje.
ls(1)
. Kompletnie bezużyteczny.W rzeczywistości istnieje projekt o nazwie Pash, który ma zaimplementować PowerShell (na wierzchu Mono), ale wydaje się, że utknął w martwym punkcie.
źródło
Istnieje projekt, którego cel ma podobne podobieństwo do programu PowerShell: Hotwire . Łączy zwykłe sh z skryptami Pythona i środowiskiem okienno-graficznym. Możesz rzucić na to okiem.
Opiera się na potoku obiektowym , który można rozszerzyć o własne obiekty, zawijając istniejące programy lub używając bibliotek Python.
źródło
PowerShell stał się open-source w 2016 roku. Od tego czasu robi się coraz bardziej wieloplatformowy. Kod źródłowy jest dostępny na GitHub, a więc są pakiety instalacyjne dla wielu systemów typu UNIX.
źródło
Sądzę, że większość tego możesz osiągnąć, pisząc kilka zinterpretowanych (lub skompilowanych) skryptów, a następnie wywołując je w powłoce interpretera, która zwróci lub zachowa twoje obiekty i tak dalej, jeśli chcesz.
Możesz to zrobić przynajmniej w Ruby, Perl, Python, Haskell (np. GHCi), JavaScript (np. Node.js), Matlab i na pewno w innych językach ...
źródło
Kolejna myśl trzy lata później: możliwe jest reprezentowanie obiektu za pomocą strumienia tekstowego za pomocą XML lub JSON. Wolę JSON (prościej) i rzeczywiście istnieją projekty zapewniające klasyczną obsługę * NIX narzędzi JSON. Na przykład: https://github.com/step-/JSON.awk
Jednym z problemów z użyciem modelu typu obiektowego w klasycznych programach * NIX, takich jak AWK, jest to, że tak naprawdę nie mają one obsługi OO. Na przykład, podczas gdy AWK ma tablice asocjacyjne, tablice nie są wielowymiarowe (każdy element w tablicy AWK musi być liczbą lub łańcuchem; tablica nie może być obiektem tablicy w AWK).
źródło