Chci spustit příkaz s absolutní cestou z libovolné složky a nechat skript spustit.
Pokud se pokusím spustit s absolutní cestou, zobrazí se chyba:
/test/test_bash_script.sh
-bash: /test/test_bash_script.sh: No such file or directory
Soubor /test/test_bash_script.sh
neexistuje, a proto jej nelze provést.
-
Absolutní cesta je definována jako určení umístění souboru nebo adresáře z kořenového adresáře (
/
). -
/test
nemůže být absolutní cestou jako adresář/test
neexistuje (je to podadresář vašeho domovského adresáře).
Máte dvě možnosti:
-
Použijte správnou absolutní cestu ke skriptu:
/Users/danylo.volokh/test/test_bash_script.sh
-
Použijte cestu založenou na vašem domovském adresáři:
~/test/test_bash_script.sh
Co je absolutní cesta?
Absolutní cesta je definována jako určení umístění souboru nebo adresáře z kořenového adresáře (
/
).
Zdroj Absolutní cesta vs relativní cesta v Linux/Unix
Protože lomítka vždy oddělují komponenty názvu, pokud cesta začíná lomítkem, předpokládá se, že název cesty začíná bezejmenným adresářem "ROOT". Adresář ROOT nemá žádné jméno. Je to kořen celého stromu souborového systému Unix.
Název cesty začínající lomítkem se nazývá absolutní cesta, protože vždy začíná v ROOTu.
Protože je obtížné hovořit o adresáři, který nemá žádné jméno, obvykle (nesprávně) používáme název "/" (lomítko) pro kořenový adresář. To je špatně, protože komponenty názvu cesty nemohou obsahovat lomítka a samostatné názvy komponenty. Pochopte, že když pro ROOT použijeme „/“, máme na mysli skutečně „bezejmenný ROOT adresář, který je nalevo od lomítka“, nikoli lomítko samotné.
Zdrojové cesty Unix/Linux (absolutní, relativní, tečka, tečka)
Absolutní cesta je /Users/danylo.volokh/test/test_bash_script.sh
, nikoli /test/test_bash_script.sh
. Pak má Bash pravdu.