usd script example espaƱol ejemplos bash shell unix scripting ksh

script - Diferencia entre korn y bash shell



shell script example (2)

Soy completamente nuevo en Unix. Actualmente, me han pedido que aprenda sobre KornShell (ksh) y Bash shell . ¿Alguien puede darme una breve descripción de los dos?

¿El término " shell " es sinónimo de " terminal "?

Entiendo que puedo leer documentos sobre ambos en línea. Pero creo que una visión general de un programador Unix experimentado me ayudará a comprender mejor.


Hay versiones de código abierto de ksh. Puedes ejecutarlo en Linux. Hubo un ksh más antiguo para OSS llamado pdksh que actuó de manera algo diferente que el ksh más nuevo y esa puede ser la razón por la que a la gente no le gustó.

Hay varias diferencias: bash tiene la mayor parte de lo que hace ksh y luego algunas cosas adicionales. Un script escrito para ejecutarse en ksh probablemente se ejecute en bash muy bien. Muchas de las diferencias tienen que ver con matemáticas, variables, matrices, funciones, etc. ... bash parece tener mucho más de esto que ksh

ksh is available on multiple platforms by default but bash would have to be specifically added. On the flip side though, most Linux distros come with bash and you have to add ksh if you want it.

La edición de estilo vi que usó ksh por defecto pero no bash. Sin embargo, puede escribir "set -o vi" en bash para obtener la misma funcionalidad.

one reason for using ksh for scripting is, this shell is available on nearly all existing flavours of *nix. Bash is not installed by default on all *nix.


Publicar desde UNIX.COM

Características de shell

Esta tabla a continuación enumera la mayoría de las funciones que creo que harían que elijas un shell sobre otro. No pretende ser una lista definitiva y no incluye todas las características posibles para cada shell posible. Solo se considera que una característica está en un shell si está en la versión que viene con el sistema operativo, o si está disponible compilada directamente desde la distribución estándar. En particular, el shell C especificado a continuación es el que está disponible en SUNOS 4. *, un gran número de proveedores ahora envían tcsh o su propio shell C mejorado en su lugar (no siempre hacen que sea obvio que están enviando tcsh).

Código:

sh csh ksh bash tcsh zsh rc es Job control N Y Y Y Y Y N N Aliases N Y Y Y Y Y N N Shell functions Y(1) N Y Y N Y Y Y "Sensible" Input/Output redirection Y N Y Y N Y Y Y Directory stack N Y Y Y Y Y F F Command history N Y Y Y Y Y L L Command line editing N N Y Y Y Y L L Vi Command line editing N N Y Y Y(3) Y L L Emacs Command line editing N N Y Y Y Y L L Rebindable Command line editing N N N Y Y Y L L User name look up N Y Y Y Y Y L L Login/Logout watching N N N N Y Y F F Filename completion N Y(1) Y Y Y Y L L Username completion N Y(2) Y Y Y Y L L Hostname completion N Y(2) Y Y Y Y L L History completion N N N Y Y Y L L Fully programmable Completion N N N N Y Y N N Mh Mailbox completion N N N N(4) N(6) N(6) N N Co Processes N N Y N N Y N N Builtin artithmetic evaluation N Y Y Y Y Y N N Can follow symbolic links invisibly N N Y Y Y Y N N Periodic command execution N N N N Y Y N N Custom Prompt (easily) N N Y Y Y Y Y Y Sun Keyboard Hack N N N N N Y N N Spelling Correction N N N N Y Y N N Process Substitution N N N Y(2) N Y Y Y Underlying Syntax sh csh sh sh csh sh rc rc Freely Available N N N(5) Y Y Y Y Y Checks Mailbox N Y Y Y Y Y F F Tty Sanity Checking N N N N Y Y N N Can cope with large argument lists Y N Y Y Y Y Y Y Has non-interactive startup file N Y Y(7) Y(7) Y Y N N Has non-login startup file N Y Y(7) Y Y Y N N Can avoid user startup files N Y N Y N Y Y Y Can specify startup file N N Y Y N N N N Low level command redefinition N N N N N N N Y Has anonymous functions N N N N N N Y Y List Variables N Y Y N Y Y Y Y Full signal trap handling Y N Y Y N Y Y Y File no clobber ability N Y Y Y Y Y N F Local variables N N Y Y N Y Y Y Lexically scoped variables N N N N N N N Y Exceptions N N N N N N N Y

Clave para la tabla de arriba.

La característica Y se puede hacer usando este shell.

La característica N no está presente en el shell.

F La característica solo se puede hacer usando el mecanismo de la función shells.

L La biblioteca readline debe estar vinculada al shell para habilitar esta función.

Notas a la tabla de arriba.

1. This feature was not in the original version, but has since become almost standard. 2. This feature is fairly new and so is often not found on many versions of the shell, it is gradually making its way into standard distribution. 3. The Vi emulation of this shell is thought by many to be incomplete. 4. This feature is not standard but unofficial patches exist to perform this. 5. A version called ''pdksh'' is freely available, but does not have the full functionality of the AT&T version. 6. This can be done via the shells programmable completion mechanism. 7. Only by specifying a file via the ENV environment variable.