GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo ejecutar un script bash a través de una ruta absoluta?

Quiero ejecutar un comando con ruta absoluta desde cualquier carpeta y hacer que se ejecute el script.

Si trato de ejecutar con la ruta absoluta, aparece un error:

/test/test_bash_script.sh 
-bash: /test/test_bash_script.sh: No such file or directory

Archivo /test/test_bash_script.sh no existe, por lo que no se puede ejecutar.

  • Una ruta absoluta se define como la especificación de la ubicación de un archivo o directorio desde el directorio raíz (/ ).

  • /test no puede ser una ruta absoluta como el directorio /test no existe (es un subdirectorio de su directorio de inicio).

Tienes dos opciones:

  1. Use la ruta absoluta correcta al script:

    /Users/danylo.volokh/test/test_bash_script.sh
    
  2. Use la ruta basada en su directorio de inicio:

    ~/test/test_bash_script.sh
    

¿Qué es una ruta absoluta?

Una ruta absoluta se define como la especificación de la ubicación de un archivo o directorio desde el directorio raíz (/ ).

Origen Ruta absoluta frente a ruta relativa en Linux/Unix

Dado que las barras inclinadas siempre separan los componentes del nombre, si un nombre de ruta comienza con una barra inclinada, se supone que el directorio "RAÍZ" sin nombre comienza el nombre de la ruta. El directorio ROOT no tiene nombre. Es la raíz de todo el árbol del sistema de archivos de Unix.

Un nombre de ruta que comienza con una barra oblicua se denomina nombre de ruta absoluto, ya que siempre comienza en la RAÍZ.

Debido a que es difícil hablar de un directorio que no tiene nombre, generalmente (incorrectamente) usamos el nombre "/" (barra) para el directorio RAÍZ. Esto es incorrecto, porque los componentes del nombre de una ruta no pueden contener barras y barras separadas del nombre. componentes Comprenda que cuando usamos "/" para RAÍZ, en realidad queremos decir "el directorio RAÍZ sin nombre que está a la izquierda de la barra inclinada", no la barra inclinada en sí.

Nombres de ruta Unix/Linux de origen (absoluto, relativo, punto, punto punto)


La ruta absoluta es /Users/danylo.volokh/test/test_bash_script.sh , no /test/test_bash_script.sh . Bash tiene razón entonces.


Linux
  1. ¿Cómo depurar un script Bash?

  2. ¿Obtener ruta completa desde dentro de Bash Script?

  3. ¿Cómo ejecutar un script?

  4. ¿Cómo ejecutar un script de shell en una consola Unix o terminal Mac?

  5. ¿Cómo obtengo el directorio absoluto de un archivo en bash?

Cómo ejecutar un script Bash {7 métodos}

Cómo ejecutar un script de Python en PHP

¿Cómo ejecutar comandos bash de Linux en un script PERL?

Cómo ejecutar un script Bash

¿Cómo ejecutar el script de python en la terminal (ubuntu)?

¿Cómo ejecutar un script .sh desde cualquier ruta en una terminal?