openBinaryFile:使用shellcheck时不存在不存在此类文件或目录

问题描述

我在用于shellcheck的Ubuntu 18.04.4 LTS上看到了这个问题:

$ ls -l /data/myscript
-rwxr-xr-x 1 user 1300000013 4200 Aug 25 13:13 /data/myscript
$ shellcheck /data/myscript
/data/myscript: /data/myscript: openBinaryFile: does not exist (No such file or directory)

为什么会出错?

解决方法

我通过查看https://github.com/koalaman/shellcheck/issues/1356

找到了答案

在我的案例中,问题是snap阻止了对/data的访问(snap将内容沙盒化,因此它无法访问home和/media以外的文件) :

mv /data/myscript ~  # Move the script to homedir
shellcheck ~/myscript

使shellcheck正常工作。