Я хочу запустить команду с абсолютным путем из любой папки и получить скрипт для выполнения.
Если я пытаюсь запустить с абсолютным путем, я получаю сообщение об ошибке:
/test/test_bash_script.sh
-bash: /test/test_bash_script.sh: No such file or directory
Файл /test/test_bash_script.sh
не существует, и поэтому не может быть выполнен.
Абсолютный путь определяется как указание расположения файла или каталога из корневого каталога (/
).
/test
не может быть абсолютным путем, так как каталог /test
не существует (это подкаталог вашего домашнего каталога).
У вас есть два варианта:
Используйте правильный абсолютный путь к сценарию:
/Users/danylo.volokh/test/test_bash_script.sh
Используйте путь, основанный на вашем домашнем каталоге:
~/test/test_bash_script.sh
Что такое абсолютный путь?
Абсолютный путь определяется как указание расположения файла или каталога из корневого каталога (/
).
Исходный абсолютный путь против относительного пути в Linux/Unix
Поскольку косые черты всегда разделяют компоненты имени, если имя пути начинается с косой черты, предполагается, что безымянный каталог "ROOT" начинает путь. Каталог ROOT не имеет имени. Это корень всего дерева файловой системы Unix.
Путь, начинающийся с косой черты, называется абсолютным путем, поскольку он всегда начинается с ROOT.
Поскольку трудно говорить о каталоге, у которого нет имени, мы обычно (неправильно) используем имя "/" (косая черта) для каталога ROOT.
Это неправильно, потому что компоненты имени пути не могут содержать косые черты и косые черты отдельных компонентов имени. Поймите, что когда мы используем «/» для ROOT, мы действительно имеем в виду «безымянный каталог ROOT, который находится слева от слеша», а не сам слеш.
Исходные пути Unix/Linux (абсолютные, относительные, точка, точка точка)