El comando source
ejecuta el script provisto (el permiso de ejecución es no obligatorio) en el entorno del shell corriente, mientras que ./
ejecuta el script provisto ejecutable en un shell nuevo. El comando
source
tiene un sinónimo . filename
.
Para hacerlo más claro, mira el siguiente script, que establece el alias.
make_alias
#! /bin/bash
alias myproject='cd ~/Documents/Projects/2015/NewProject'
Ahora tenemos dos opciones para ejecutar este script. Pero con sólo una opción, el alias deseado para el shell actual puede ser creado entre estas dos opciones.
Opción 1: ./make_alias
Hacer el script ejecutable primero.
chmod +x make_alias
Ejecutar
./make_alias
Verificar
alias
Salida
**nothing**
*Whoops! * Alias se ha ido con el nuevo shell.
Vamos con la segunda opción.
Opción 2: source make_alias
Ejecutar
source make_alias
o
. make_alias
Verificar
alias
Salida
alias myproject='cd ~/Documents/Projects/2015/NewProject'
Sí Alias se ha fijado.