Bash:尝试打开文件时权限被拒绝

时间:2010-10-01 20:30:37

标签: linux bash

我最近决定尝试学习一些bash脚本,作为一个有趣的练习,我决定制作一个脚本来打开每日文件,让我在脚本运行时写笔记。

在我收到错误

后退出并重新登录系统之前,它工作正常

/usr/local/bin/notes: line 45: /home/MY_USERNAME/notes/2010-10-01:Permission denied

Code

我可能会弄错,但这肯定不像是不需要额外权限的东西,是吗?

编辑器设置为nano

文件的权限为-rw-rw-r--

脚本的权限为-rwxr-xr-x

3 个答案:

答案 0 :(得分:7)

使用

检查文件的权限
ls -l /path/to/your/file
你应该看到像

这样的东西
-rw-r--r--

表示可读,可写和可执行。

第一组是针对您的用户,第二组是针对您的组,第三组针对的是任何人。

所以在我的例子中,我显示的文件对我来说是可读/写的,只读给我的组和任何其他用户。

使用chmod命令更改权限。

chmod 744 file

将为您创建文件读/写/执行,并且只读取用户/世界。

答案 1 :(得分:7)

我猜是

$EDITOR $DAILY_FILENAME 

$EDITOR为空,因此它正在尝试执行不可执行的$DAILY_FILENAME。可能在您测试时手动设置EDITOR,但没有将其添加到.bashrc(或其他)文件中。

使用-x选项进行证明。

答案 2 :(得分:0)

如果我不得不猜测,我会建议$EDITOR环境变量由于某种原因未定义。看起来您的脚本正在尝试执行notes文件 - 因为这不可执行,您将收到无用的错误消息。