Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
bourne_shell [2022/09/17 18:39] – peron | bourne_shell [2024/03/09 23:34] (actual) – [Reglas] peron | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ===== Shell de Bourne ===== | + | ====== Shell de Bourne |
- | El Bourne Shell fue un [[intérpretes de comandos|intérprete de comandos]] desarrollado por Stephen Bourne | + | El Bourne Shell fue un [[intérpretes de comandos|intérprete de comandos]] desarrollado |
- | Aunque podía | + | Aunque podía |
+ | > El Shell original de Bourne no suele utilizarse más, pero todos los sistemas POSIX actuales suelen incorporar alguna implementación moderna derivada de esta shell **sh** por razones de compatibilidad absoluta y de ejecución de [[script|guiones de programación]]. | ||
- | > Todos los sistemas POSIX actuales suele incorporarse una versión moderna de esta shell mínima por razones de compatibilidad absoluta y de ejecución de [[script|guiones | + | ==== Historia ==== |
+ | El [[sh|Shell de Thompson]] típico | ||
+ | Para ello desarrolló a lo largo de 1977 una versión que no retuviese compatibilidad con el de Thompson, inspirándose en las modalidades de programación utilizadas por su lenguaje preferido por entonces, el ALGOL68, e incorporando macros de programación. Para 1979 su shell (que también recibió el nombre de fichero **sh** en la [[versiones de unix#unix septima edición|unix V7]]), reemplazó al vetusto de Thompson. | ||
+ | A principios de la década de 1980 el shell de Bourne era uno de los más prometedores.. En vista de sus posibilidades, | ||
+ | |||
+ | |||
+ | =====Reglas===== | ||
+ | |||
+ | La antigua shell de Bourne tienen reglas universales que inpirarían a [[Bash]]. Originalmente, | ||
+ | ===Sintaxis=== | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | |||
+ | <code bash> | ||
+ | comando-simple | ||
+ | (lista-de-comandos) | ||
+ | for nombre do lista-de-comandos donde | ||
+ | for nombre in palabra... do lista-de-comandos done | ||
+ | while lista-de-comandos do lista-de-comandos done | ||
+ | until lista-de-comandos do lista-de-comandos done | ||
+ | case palabra in case-part... esac | ||
+ | if lista-de-comandos then lista-de-comandos else-parte fi | ||
+ | </ | ||
+ | |||
+ | ===Sintáctica=== | ||
+ | ^ Carácter ^ Significado ^ | ||
+ | | '' | ||
+ | | ''&&'' | ||
+ | | '' | ||
+ | | '';'' | ||
+ | | '';;'' | ||
+ | | ''&'' | ||
+ | | '' | ||
+ | | ''<'' | ||
+ | | ''<<'' | ||
+ | | ''>'' | ||
+ | | ''>>'' | ||
+ | |||
+ | ===Patrones=== | ||
+ | Los patrones de coincidencia pueden aplicarse mediante | ||
+ | * '' | ||
+ | * ''?'': | ||
+ | * '' | ||
+ | |||
+ | ===Sustitución=== | ||
+ | |||
+ | La shell de bourne sustituye de este modo | ||
+ | * '' | ||
+ | * ''< | ||
+ | |||
+ | ===Citado=== | ||
+ | El citado se puede hacer con: | ||
+ | * ''< | ||
+ | * ''< | ||
+ | * ''< | ||