如何通过绝对路径运行bash脚本?

丹妮洛·沃洛克(Danylo Volokh)

我有一个文件:

/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 不存在(它是主目录的子目录)。

您有两种选择:

  1. 使用正确的脚本绝对路径:

    /Users/danylo.volokh/test/test_bash_script.sh
    
  2. 使用基于您的主目录的路径:

    ~/test/test_bash_script.sh
    

什么是绝对路径?

绝对路径定义为从根目录(/指定文件或目录的位置

Linux / Unix中的绝对路径与相对路径

由于斜杠始终是单独的名称组成部分,因此,如果路径名以斜杠开头,则假定无名“ ROOT”目录以该路径名开头。ROOT目录没有名称。它是整个Unix文件系统树的根。

以斜杠开头的路径名称为绝对路径名,因为它始终始于ROOT。

因为很难谈论一个没有名称的目录,所以我们通常(错误地)为根目录使用名称“ /”(斜杠)。这是错误的,因为路径名的名称组成部分不能包含斜杠和斜杠。请理解,当我们对根使用“ /”时,实际上是指“斜杠左侧的无名ROOT目录”,而不是斜杠本身。

Unix / Linux路径名(绝对,相对,点,点点)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章