Voglio eseguire un comando con percorso assoluto da qualsiasi cartella e ottenere lo script da eseguire.
Se provo a eseguire l'esecuzione con il percorso assoluto ottengo un errore:
/test/test_bash_script.sh
-bash: /test/test_bash_script.sh: No such file or directory
File /test/test_bash_script.sh
non esiste, quindi non può essere eseguito.
-
Un percorso assoluto è definito come la specifica della posizione di un file o di una directory dalla directory principale (
/
). -
/test
non può essere un percorso assoluto come la directory/test
non esiste (è una sottodirectory della tua home directory).
Hai due scelte:
-
Utilizza il percorso assoluto corretto dello script:
/Users/danylo.volokh/test/test_bash_script.sh
-
Usa il percorso basato sulla tua home directory:
~/test/test_bash_script.sh
Cos'è un percorso assoluto?
Un percorso assoluto è definito come la specifica della posizione di un file o di una directory dalla directory principale (
/
).
Origine Percorso assoluto vs percorso relativo in Linux/Unix
Poiché le barre separano sempre i componenti del nome, se un percorso inizia con una barra, si presume che la directory "ROOT" senza nome inizi con il percorso. La directory ROOT non ha nome. È la radice dell'intero albero del file system Unix.
Un percorso che inizia con una barra è chiamato percorso assoluto, poiché inizia sempre dalla ROOT.
Poiché è difficile parlare di una directory che non ha un nome, di solito (erroneamente) usiamo il nome "/" (barra) per la directory ROOT. componenti. Tieni presente che quando usiamo "/" per ROOT, in realtà intendiamo "la directory ROOT senza nome che si trova a sinistra della barra", non la barra stessa.
Source Unix/Linux Pathnames (assoluto, relativo, punto, punto punto)
Il percorso assoluto è /Users/danylo.volokh/test/test_bash_script.sh
, non /test/test_bash_script.sh
. Bash ha ragione allora.