Bash

Páginas: 7 (1679 palabras) Publicado: 10 de diciembre de 2012
1. El shell que estamos usando
Mac OS X trae preinstalado el shell Bash desde la versión 10.2, antes traía
instalado el shell tcsh, pero debido a que Bash es el shell que GNU eligió para
el software libre, Apple decidió dar el salto. Linux lógicamente también usa
este shell, con lo cual parece ser que Bash es el shell de los sistemas UNIX
más utilizados, y tiene un futuro muy prometedor.Si queremos saber que versión de shell tenemos instalado podemos usar el
comando:
$ echo $SHELL
/bin/bash
Este comando nos indica que shell estamos usando y en que directorio está
instalado.
Si queremos conocer la versión de Bash podemos usar el comando:
$ echo $BASH_VERSION
2.05b.0(1)-release
También podemos saber donde está instalado Bash con el comando:
$ whereis bash
/bin/bashPuede conocer todos los shell de que dispone su máquina con el comando:
$ cat /etc/shells
/bin/bash
/bin/csh
/bin/sh
/bin/tcsh
/bin/zsh
Si por alguna razón no está usando Bash, pero lo tiene instalado (o lo acaba
de instalar) en su máquina, puede hacer que Bash sea el shell por defecto de
su cuenta usando el comando:
$ chsh -s /bin/bash
Si prefiere usar una versión más moderna de shell quela que viene
preinstalada con Mac OS X puede bajársela del proyecto Fink1:
1
Si no tiene Fink instalado puede bajárselo de http://fink.sourceforge.net/
Pág 8
El shell Bash
MacProgramadores
$ fink list bash
Information about 4975 packages read in 12 seconds.
bash
3.0-2
The GNU Bourne Again Shell
bash-completion 20041017-1 Command-line completions ...
bash-doc
3.0-1
Extradocumentation for ...
$ fink install bash
Y cambiar a este shell con:
$ chsh -s /sw/bin/bash
Pero antes deberá introducir este shell en /etc/shells, o chsh no se lo
aceptará como un shell válido.
Si ahora nos logamos de nuevo con el comando login y preguntamos por la
versión de Bash:
$ echo $BASH
/sw/bin/bash
$ echo $BASH_VERSION
3.00.0(1)-release
Vemos que estamos trabajando con Bash 3.0. Eneste tutorial supondremos
que tenemos la versión 3.0 de Bash, si alguien está usando la versión 2.05, o
alguna anterior, puede que no le funcionen todos los ejemplos que hagamos.
Pág 9
El shell Bash
MacProgramadores
2. Expansión de nombres de ficheros y
directorios
2.1. Los comodines
Para referirnos a varios ficheros es muy típico usar los comodines de la Tabla
1.1. Un sitio típico dondese usan los comodines es el comando ls. Este
comando sin argumentos lista todos los ficheros del directorio, pero le
podemos pasar como argumentos los nombres de los ficheros que queremos
listar:
$ ls carta.txt leeme.txt
Si lo que le damos son los nombres de uno o más directorios lo que hace es
listar su contenido.
Comodín
?
*
[conjunto]
[!conjunto]
Descripción
Uno y sólo uncarácter
Cero o más caracteres
Uno los caracteres de conjunto
Un carácter que no este en conjunto
Tabla 1.1: Comodines de fichero
Muchas veces queremos referirnos a un conjunto de ficheros para lo cual
usamos comandos de la forma:
$ ls *.txt
Que lista todos los ficheros acabados en .txt.
* representa cero o más caracteres, con lo que *ed encontraría el fichero ed.
Otro comodín menos usado es ?que sustituye por un sólo carácter, por
ejemplo:
$ ls carta?.txt
Listaría ficheros como carta1.txt, carta2.txt, pero no carta10.txt.
El tercer comodín permite indicar un conjunto de caracteres que son válidos
para hacer la sustitución, p.e. c[ao]sa encontraría el fichero casa y cosa,
pero no cesa. Además podemos indicar un conjunto de caracteres ASCII
consecutivos, por ejemplo [a-z] seríantodas las letras minúsculas, [!0-9]
Pág 10
El shell Bash
MacProgramadores
serían todos los caracteres ASCII excepto los dígitos, y [a-zA-Z0-9] serían
todas las letras mayúsculas, minúsculas y los dígitos.
La razón por la que este comodín no ha sido tan usado como se esperaba es
que expande por un, y sólo un dígito, por ejemplo programa.[co]
encontraría programa.c y programa.o, pero no...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • bash
  • Puntos de bash
  • Waltz con bashir
  • Programar En Bash
  • Matsuo basho
  • Programacion bash
  • The bash
  • Bash

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS