【问题标题】:permission denied on .gz files on linuxlinux上.gz文件的权限被拒绝
【发布时间】:2022-01-08 02:51:40
【问题描述】:

我有一些 .gz 文件,我想在其中运行脚本。我需要这些文件保持 .gz 格式。当我运行我的脚本时:

#!#bin#bash
for f1 in $(~/Desktop/hawkfiles17/NG*.fq.gz);
do
  echo "${f1}"
done

我想检查文件的位置。脚本返回:

bash: /home/amyhouseman/Desktop/hawkfiles1/NG0921017_EKDN210018957-1A_HN2MGDSX2_L2_1.fq.gz: Permission denied`

我尝试过使用: chmod u+x /home/amyhouseman/Desktop/hawkfiles17/NG0921017_EKDN210018957-1A_HN2MGDSX2_L2_1.fq.gz,但 bash 返回:

bash: /home/amyhouseman/Desktop/hawkfiles17/NG0921017_EKDN210018957-1A_HN2MGDSX2_L2_1.fq.gz: cannot execute binary file: Exec format error

如果有人可以提供帮助,我将不胜感激,我知道您无法执行 .gz 文件,但我不确定我还能做什么? 我之前确实看过其他帖子。

【问题讨论】:

  • 您可能必须从 root 执行这些命令。尝试下一个命令:su rootsudo su
  • 请正确格式化您的代码 sn-ps。整个 bash 脚本显示在一行中,但行尾很重要。
  • 表达式$(~/Desktop/hawkfiles17/NG*.fq.gz) 没有意义。您尝试像运行可执行文件一样运行 gz 文件。从技术上讲,您会得到 permission denied,因为该文件上没有 x 位,但即使是这种情况,它也不起作用,您会得到类似 exec 格式的东西错误或类似的。

标签: bash shell permissions chmod


【解决方案1】:

我想检查文件的位置。

你的shebang不正确,还有其他几个小字符串。

这是您的解决方案:

$ cat my_script.sh
#!/bin/bash
for item in $(ls ~/Desktop/hawkfiles17/NG*.fq.gz) ; do echo "$item" ; done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-29
    • 2011-09-11
    • 2018-06-23
    • 2012-12-18
    • 1970-01-01
    • 2014-12-06
    • 2015-07-11
    相关资源
    最近更新 更多