Quão similar é o terminal.app da Apple para um terminal bash no Linux?

5

Eu sei que o Terminal.app da Apple fornece um shell bash. Existe alguma diferença entre isso e um bash no Linux?

    
por Casebash 19.10.2010 / 04:05

2 respostas

23

Terminal é um emulador de terminal. Ele interpreta várias sequências de controle enviadas por programas (caracteres de controle como CR, LF, BS e sequências de controle mais longas para comandos como “clear screen”, “move cursor up 3 lines”, etc.). Terminal é o mesmo tipo de programa que o xterm , rxvt , Konsole , ou Terminal GNOME . Quase todos os emuladores de terminal modernos suportam as sequências de controle "xterm", portanto, geralmente são altamente compatíveis (e a maioria dos programas usa a biblioteca ncurses e seu banco de dados terminfo para abstrair as seqüências de controle reais).

bash é um shell. Ele interpreta comandos que geralmente envolvem a execução de outros programas. No uso interativo normal, a entrada do shell vem de um usuário por meio de um emulador de terminal. O emulador de terminal e o shell são conectados por meio de um dispositivo "pseudo-tty" (por exemplo, /dev/pts/24 ou /dev/ttyp9 ).

Como os dispositivos tty são a única interface entre Terminal e bash , eles são completamente independentes. Você pode usar bash com iTerm ao invés de Terminal , e você pode usar zsh ao invés de bash dentro de uma janela Terminal .

A versão do bash instalada em seus sistemas Mac OS X e Linux pode ser diferente, mas deve ser bem fácil de instalar em qualquer versão do bash desejado qualquer sistema. Você pode procurar em MacPorts , homebrew , ou Fink para saber como instalar versões recentes do bash (e outras shells) no Mac OS X. A distribuição do Linux que você está usando certamente vem com pacotes para shells comuns.

    
por 19.10.2010 / 06:04
4

O Mac OS usa o lançamento padrão de bash . Aqui estão as versões de alguns sistemas que eu tenho acesso fácil:

  • SLES 10.2: GNU bash, version 3.1.17(1)-release (x86_64-suse-linux)
  • SLES 11.0: GNU bash, version 3.2.49(1)-release (x86_64-suse-linux-gnu)
  • OSX Leopard (10.5.8): GNU bash, version 3.2.17(1)-release (i386-apple-darwin9.0)
  • Snow Leopard do OSX (10.6.4): GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
por 19.10.2010 / 16:33

Tags