Me gustaría escribir un conjunto de shell scripts que se ejecuten sin problemas en Mac sin tener en cuenta desde dónde se llaman.
Actualmente estoy luchando sobre cómo implementar esto.
En Windows, podría escribir tres secuencias de comandos scripts
A.bat
en la carpeta A B.bat
en la carpeta Subfolder
que es una subcarpeta de A
y qué camino es A/Subfolder
C.bat
en la carpeta Subfolder
que es una subcarpeta de A
y qué camino es A/Subfolder
En A.bat
Podría escribir
call Subfolder/B.bat
en B.Bat
Podría escribir
call C.bat
y ambos scripts A
y B
se ejecutaría con éxito.
En Mac, sin embargo, tengo que anteponer ./
a cada script para que sea reconocido como script.
Así que cuando escribo en a.sh
código:
Subfolder/b.sh
y luego en b.sh
código
./c.sh
cuando ejecute ./b.sh
desde el terminal se ejecuta con éxito.
Sin embargo, cuando ejecuto ./a.sh
desde una carpeta principal en el terminal, falla con el error
./a.sh Subfolder/b.sh: line 1: ./c.sh: No such file or directory
¿Es posible en Mac escribir un código en b.sh que se ejecute sin tener en cuenta si se llama desde la carpeta actual o desde la carpeta padre?