LinuxAlternative

Linux · Programação

Ksh

KornShell (ksh) é um shell Unix que combina recursos do sh, csh e awk para scripts e uso interativo.

Código abertoGrátis
Seja o primeiro a avaliar
Licença
GPL-3.0
Versão mais recente
1.0.10

O que é o Ksh?

KornShell, desenvolvido por David Korn no início dos anos 1980, foi projetado para melhorar o Bourne shell adicionando recursos como arrays, aritmética embutida e uma linguagem de comando mais poderosa. Ao longo das décadas, tornou‑se um elemento básico em muitas distribuições Unix e Linux, especialmente onde a compatibilidade retroativa com scripts antigos é importante.

ksh é voltado para administradores de sistemas, desenvolvedores e usuários avançados que precisam de um ambiente de script confiável. É frequentemente escolhido por seu equilíbrio entre a simplicidade do sh e os recursos avançados do csh, sendo um bom meio‑termo para quem quer mais que um shell básico, mas menos que uma linguagem de programação completa.

Em comparação ao Windows PowerShell, ksh parece mais tradicional e leve. Não possui o paradigma de pipeline de objetos do PowerShell, mas sua linha de comando baseada em texto e a sintaxe de scripts são familiares a usuários de outros shells POSIX. A curva de aprendizado é moderada, com muitos tutoriais disponíveis para quem está migrando de scripts batch do Windows ou do PowerShell.

Ideal para: Scripts de shell em grande escala onde a compatibilidade com scripts Unix legados é essencial.

Principais recursos do Ksh

  • Linguagem de shell compatível com POSIX
  • Arrays embutidos e arrays associativos
  • Suporte a expressões aritméticas
  • Substituição de comando e globbing
  • Edição interativa com histórico
  • Portabilidade de scripts entre Unix/Linux

Prós

  • Gratuito e de código aberto
  • Amplamente disponível nas principais distribuições
  • Forte compatibilidade retroativa com scripts sh
  • Eficiente para grandes jobs em lote

Contras

  • Não possui pipeline de objetos nativo como o PowerShell
  • Integração limitada com GUIs modernas
  • Curva de aprendizado para recursos avançados

Programas do Windows que o Ksh substitui

Como instalar o Ksh no Linux

Ubuntu / Mintsudo apt install ksh93u+m
Debiansudo apt install ksh93u+m
Fedorasudo dnf install ksh
Arch / Manjarosudo pacman -S ksh
openSUSEsudo zypper install ksh

Dicas para quem vem do Windows

Ao migrar do PowerShell, lembre‑se de que o ksh usa arquivos de texto com .sh ou sem extensão; a sintaxe de comando difere (por exemplo, $() para substituição de comando, não $(…)). Atalhos como a conclusão com Tab funcionam, mas cmdlets no estilo PowerShell não existem. Scripts que dependem de objetos do PowerShell precisam ser reescritos para usar fluxos de texto ou utilitários externos como awk ou sed.

Ksh: perguntas frequentes

O ksh ainda é mantido?

Sim, a versão estável mais recente é ksh93, que recebe atualizações de segurança ocasionais.

Posso executar scripts PowerShell no ksh?

Não. Scripts PowerShell (.ps1) não são compatíveis; você precisa reescrevê‑los em sintaxe ksh.

O ksh suporta arrays?

Sim, ksh93 suporta arrays indexados e associativos, úteis para estruturas de dados complexas.

Como habilitar o histórico de comandos no ksh?

Adicione set -o histexpand e use o comando history; a maioria das distribuições já habilita o histórico por padrão.

Atualizado em