bash - 如何在变量中存储工作目录之外的文件

时间:2016-07-11 03:15:19

标签: bash

我需要将工作目录外的文件存储到bash脚本中的变量中。我可以将文件存储在同一目录中,如下所示:

value1 = 'File4'

但是如果我想访问我目录之外的文件,我是否必须首先使用cd到达该目录?

2 个答案:

答案 0 :(得分:2)

您可以按绝对路径访问文件,即/home/user/path/to/my/file.txt或相对路径:../another_directory_at_the_same_level/file.txt。双点表示超级目录,即如果您的工作路径为/home/user/working/path,则../将为/home/user/working

答案 1 :(得分:1)

首先,您需要计算当前目录(脚本执行的位置),然后您将能够通过其相对路径访问任何目录。像这样=> $curr_dir/../$value1$curr_dir/../../$value2 ..等等

以下是您获得当前直播的方式。

curr_dir=$(dirname $(readlink -f $0))

$0 =>>当前正在运行的脚本..声明value1 = 'File4'的脚本

readlink -f传递$0作为解析任何符号链接的参数。

dirname从返回的完整路径中删除文件。