openBinaryFile:使用 shellcheck 时不存在(没有这样的文件或目录)

openBinaryFile: does not exist (No such file or directory) when using shellcheck

我在 Ubuntu 18.04.4 LTS for shellcheck 上看到了这个问题:

$ 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 沙箱,因此它无法访问家庭和 /media 以外的文件),所以一个简单的:

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

使 shellcheck 正常工作。