我需要将工作目录外的文件存储到bash脚本中的变量中。我可以将文件存储在同一目录中,如下所示:
value1 = 'File4'
但是如果我想访问我目录之外的文件,我是否必须首先使用cd
到达该目录?
答案 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
从返回的完整路径中删除文件。