2012-01-24 25 views
6

Estoy instalando Ruby on Rails en Mac OS X. El tutorial estoy siguiendo dice para añadir:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

a ~/.bash_profile.

¿Qué hace esta línea?

Gracias

Respuesta

12

[[ -s "$HOME/.rvm/scripts/rvm" ]]

Esta porción es una condición de prueba ([[ es el nuevo comando de prueba). -s vuelve TRUE si el archivo rvm presente en más de $HOME/.rvm/scripts/ ubicación exists and is of size greater than zero.

&&

Este es un operador lógico and. Ejecuta la instrucción a la derecha SI Y SOLO SI la declaración de la izquierda devuelve verdadero.

. "$HOME/.rvm/scripts/rvm"

. es la abreviatura de source comando. Está obteniendo el archivo en su shell actual y no bifurcando un nuevo subconjunto

1

Comprueba si el archivo existe y tiene un tamaño grande que cero, y si es así, se ejecuta el archivo.

El archivo es "$HOME/.rvm/scripts/rvm. $ HOME es una variable, generalmente configurada en su homedir (~), algo así como /home/youruser. En ese directorio, debe encontrar una carpeta oculta .rvm, que contiene una carpeta de scripts, que contiene un archivo ejecutable llamado rvm.

+0

No es '-e' comprueba y devuelve' true' si el 'archivo existe'. '-s' solo devuelve' true' si el tamaño del archivo es mayor que cero –

+2

¿Cómo tendrá un tamaño mayor que cero, pero no existirá? – Konerak

+2

LOL, sé que es malo! Aún dejaré mi comentario allí. Me recordará mi inteligencia! ;) –

1

Acabo de instalar rvm y ejecuto rvm notes como comando de shell. El resultado incluye además de otra información útil las siguientes líneas.

  • Si desea utilizar RVM de manera interactiva en otras conchas a continuación, colocar la siguiente línea al final de la carga de archivos de su concha (.bashrc o .bash_profile para bash y zsh para .zshenv), después de que todos /ajustes RUTA:

    [[ -s "/home/username/.rvm/scripts/rvm" ]] && source "/home/username/.rvm/scripts/rvm" # This loads RVM into a shell session.

Supongo que siempre es una buena idea echar un vistazo a las últimas notas de la versión.

También encontré el screencast "How to use RVM" muy útil.También incluye información sobre su pregunta en los primeros minutos.