zsh报permission denied错误 已确认拥有权限仍无法解决怎么办
解决方法
- 首先确认你操作的目标文件类型:如果你要打开的是普通文本文件而非可执行程序/脚本,不能直接通过路径执行,需要使用对应工具调用,比如:
直接输入文件路径执行的操作会被系统判定为运行可执行程序,非可执行文件会直接抛出权限拒绝错误,和文件本身的读/写权限无关。# 用编辑器打开 vim $FILE nano $FILE # 用系统默认程序打开 open $FILE # macOS适用 xdg-open $FILE # Linux桌面版适用 - 如果你的目标文件是需要运行的脚本/可执行程序,按以下步骤排查:
- 先执行
echo $FILE核对输出的路径是否和你预期的文件路径完全一致,路径含空格/特殊字符的话,export时需要用双引号包裹,写法为export FILE="/your path/with space/file" - 执行
ls -l $FILE确认文件存在,且权限位中包含可执行权限(权限字符串中有x标记),没有的话执行chmod +x $FILE添加可执行权限 - 脚本类文件需要确认文件头部的shebang声明正确,比如shell脚本第一行应为
#!/bin/zsh或#!/bin/bash,Python脚本第一行应为#!/usr/bin/env python3,声明错误也会触发权限类报错
- 先执行
内容的提问来源于stack exchange,提问作者OOGWAY
相关产品推荐
相关产品推荐

