我有一个文件:
/Users/danylo.volokh/test/test_bash_script.sh
内容很简单:
#!/usr/bin/env bash
echo "-- print from script"
我在“ danylo.volokh”文件夹中
此命令运行良好:
Danilos-MacBook-Pro:~ danylo.volokh$ test/test_bash_script.sh
-- print from script
但是,如果我尝试使用绝对路径运行,则会收到错误消息:
Danilos-MacBook-Pro:~ danylo.volokh$ /test/test_bash_script.sh
-bash: /test/test_bash_script.sh: No such file or directory
我想从任何文件夹运行具有绝对路径的命令,并获取要执行的脚本。
如果我尝试使用绝对路径运行,则会收到错误消息:
/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
绝对路径定义为从根目录(
/
)指定文件或目录的位置。
由于斜杠始终是单独的名称组成部分,因此,如果路径名以斜杠开头,则假定无名“ ROOT”目录以该路径名开头。ROOT目录没有名称。它是整个Unix文件系统树的根。
以斜杠开头的路径名称为绝对路径名,因为它始终始于ROOT。
因为很难谈论一个没有名称的目录,所以我们通常(错误地)为根目录使用名称“ /”(斜杠)。这是错误的,因为路径名的名称组成部分不能包含斜杠和斜杠。请理解,当我们对根使用“ /”时,实际上是指“斜杠左侧的无名ROOT目录”,而不是斜杠本身。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句