Não, é o contrário. Não há dados estruturados. Existe apenas texto.
Grande parte da filosofia do Unix é baseada na idéia de produzir texto e aceitar texto como entrada. Você pode querer ler " A Arte da Programação Unix ", que tem uma boa explicação sobre isso.
Não me interpretem mal: entendo seu ponto de vista e sei o que você está tentando entender. Existem coisas como os intérpretes interativos de Ruby e Python, que podem ser usados como shell, mas eles não são tão amigáveis para tarefas básicas quanto o Bash. Tente alterar o diretório, por exemplo.
Além disso, o uso de objetos em um shell não é tudo isso. Se apenas o seu shell suportar isso, no Unix, você estará perdido. Todas as ferramentas padrão de manipulação de texto do Unix teriam que ser alteradas, como grep, awk, sed, etc.
Acho que houve uma tentativa de criar algo assim há alguns anos, mas não me lembro do nome e não ouvi falar dele há muito tempo. Provavelmente não vai decolar.
ls(1)
. Completamente inútil.Na verdade, existe um projeto chamado Pash que visa implementar o PowerShell (em cima do Mono), mas parece ter parado.
fonte
Há um projeto, cujo objetivo compartilha a semelhança com o PowerShell: Hotwire . Combina sh regular com scripts python e janela / ambiente gráfico. Você poderia dar uma olhada.
É baseado no pipeline orientado a objetos que você pode estender com seus próprios objetos, agrupando programas existentes ou usando bibliotecas Python.
fonte
O PowerShell tornou-se de código aberto em 2016. Desde então, está se tornando cada vez mais multiplataforma. O código fonte está disponível no GitHub e também os pacotes de instalação para vários sistemas semelhantes ao UNIX.
fonte
Eu acho que você poderia conseguir a maior parte disso escrevendo vários scripts interpretados (ou compilados) e depois os chamando no shell do intérprete, que retornará ou preservará seus objetos e assim por diante, se desejar.
Você pode fazer isso em pelo menos Ruby, Perl, Python, Haskell (por exemplo, GHCi), JavaScript (por exemplo, node.js), Matlab e certamente em outros idiomas ...
fonte
Outro pensamento três anos depois: é possível representar um objeto com um fluxo de texto usando XML ou JSON. Eu prefiro o JSON (mais simples) e, de fato, existem projetos por aí para dar suporte clássico ao JSON dos utilitários * NIX. Por exemplo: https://github.com/step-/JSON.awk
Um problema com o uso de um modelo de tipo de objeto para programas clássicos do NIX * como o AWK é que eles realmente não têm suporte a OO. Por exemplo, enquanto o AWK possui matrizes associativas, as matrizes não são multidimensionais (cada elemento em uma matriz AWK deve ser um número ou uma sequência; uma matriz não pode ser um objeto de matriz no AWK).
fonte