如何检查subblink文件是否存在



我在rails项目外保存了一个文件,并在rails项目中创建了该文件的子blink,但当我试图检查file .exists(subink_file_path)时,它返回false。

,

 file_path = "shared/test.xls" #original file outside rails project.
 ln -nfs shared/test.xls current/tmp/test.xls #created a sublink in rails tmp folder. here current is my project folder.

现在像这样在控制器中获取文件路径

file_path = Rails.root + "tmp/test.xls"
File.exists?(file_path) #it return false but it should return true.

也检查File.exist?(file_path)也返回false。

如何检查subblink文件是否存在?

my directory structure:

 Work
   Project
     app
     config
     db
     tmp
     and so on...
  Shared

这里的项目和共享在同一级别内的工作文件夹。我确信我是正确的文件路径和目录结构。我担心的是我们不能检查子路径作为文件。

file .exist?(file_path)它将返回true,因为文件路径是实际文件路径。

file。exist?(subink_file_path)我认为subblink file path不是文件所以它会返回false

这不是File.exists?的问题,你只是创建了一个错误的符号链接(与错误的链接路径)。

使用绝对路径

ln -nfs `pwd`/shared/test.xls current/tmp/test.xls

或者使用相对路径:

ln -nfs ../../shared/test.xls current/tmp/test.xls

我必须设置绝对路径,在我的情况下,它不与相对路径工作。我用的是:

ln -nsf /home/work/shared/test.xls /home/work/current/tmp/test.xls

检查符号链接是否正确创建。使用下面的命令

file "your_symbolic_link_path"

相关内容

  • 没有找到相关文章

最新更新