2 votos

Cómo hacer que el archivo .command se ejecute en su ubicación

Cuando se ejecuta un archivo .command no es en la ubicación donde reside el archivo. Puede colocar un archivo .command en cualquier lugar con el comando pwd en ella, e imprimirá siempre su carpeta Usuarios.

Necesito que el archivo se ejecute en su ubicación porque estoy intentando ejecutar nodemon my/file.js y actualmente busca Users/(myname)/my/file.js que está mal.

3voto

dushyanth Puntos 499

Siempre puede utilizar el $0 para encontrar el directorio en el que se encuentra el comando e ir allí primero.

#!/bin/bash

# Change directory to be where the command is.
cd "$(cd "$(dirname "$0")" > /dev/null && pwd)"

# Print the working directory for example.
pwd

1 votos

Debe tenerse en cuenta que en cualquier script de shell adecuado, debe siempre asegúrese de que cd realmente tuvo éxito.

0 votos

$0 funcionará si se ejecuta desde el Finder, pero si se ejecuta desde la línea de comandos puede que no funcione. Siempre y cuando se ejecute bajo bash, $BASH_SOURCE es más fiable. Véase BashFAQ #28: "¿Cómo puedo determinar la ubicación de mi script? Quiero leer algunos archivos de configuración desde el mismo lugar".

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X