./ vs ejecución normal

Esta es probablemente una pregunta más para los sistemas Unix, pero como lo tengo en mi Mac Pro, espero encontrar aquí una respuesta:

Cuando /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home/db/bin a /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home/db/bin

  • ¿Cómo puedo rotar un video?
  • ¿Cómo acceder a mi carpeta .ssh para Transmit o Cyberduck?
  • Java no funcionará en Chrome / Safari / Firefox, pero sí en Terminal
  • Deshabilitar alarma audible en UPS
  • ¿Cómo expulsar un DVD sin iniciar session en mi Mac?
  • Comparte notas con otras personas en un mac
  • con un cd no puedo ejecutar el command startNetworkServer presente en bin, en su lugar puedo ejecutarlo a través de ./startNetworkServer .

    Sin embargo desde ~

     MacCris:~ cris$ /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home/db/bin/startNetworkServer 

    funciona sin ./

    ¿Alguna idea de por qué? (¿relacionado con los derechos?)

    Gracias

  • Espacios en un nombre de carpeta
  • ¿Qué necesita un Mac Mini 2012 para la input de micrófono?
  • ¿Puedo hacer una list de los files orderados por date añadidos a una carpeta desde una herramienta de command-line como ls?
  • ¿Monitorea el uso de la networking de aplicaciones individuales?
  • ¿Cómo puedo tener más de 16 atajos de keyboard para espacios (es decir, Mission Control)?
  • Cómo reparar el error: "AppleSpell" intentó secuestrar el punto final "it (Apple) _OpenStep" del propietario?
  • 2 Solutions collect form web for “./ vs ejecución normal”

    Esto se debe al comportamiento de su shell que se ejecuta allí Terminal.app. Probablemente es el shell Bash

    Cuando solicite al shell que ejecute un command si proporciona una ruta absoluta (que comienza con / como la segunda) intentará ejecutar ese progtwig en esa ruta. Si proporciona una ruta relativa (es decir, una que no comienza con / ) intentará crear una ruta absoluta anteponiendo los directorys que están en su variable de entorno PATH a lo que escribió. Como su directory actual o . no está en tu RUTA, no puede encontrar un file para ejecutar. Si el path comienza con a . el repape eso por la ruta absoluta de su directory actual y así get una ruta que se puede ejecutar.

    • ~ = carpeta de inicio nada más.

    • ./something algo ejecutará ese algo (ya sea script o binary)
      Escribir la ruta completa es lo mismo que ejecutar con ./

    • cd es el directory de cambios, por lo que no se ejecutará

    Estos son todos los commands de command-line unix / linux estándar

    Referencias
    http://linuxcommand.org/learning_the_shell.php http://www.arachnoid.com/linux/shell_programming.html

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).