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

Mic*_*chi 7 linux bash

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

它工作正常,直到我退出并稍后返回系统,当我收到错误

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

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

编辑器设置为 nano

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

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

hvg*_*des 8

检查文件的权限

ls -l /path/to/your/file
Run Code Online (Sandbox Code Playgroud)

你应该看到类似的东西

-rw-r--r--
Run Code Online (Sandbox Code Playgroud)

r表示可读,可写和x可执行文件.

第一组用于您的用户,第二组用于您的组,第三组用于任何人.

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

使用chmod命令更改权限.

chmod 744 file
Run Code Online (Sandbox Code Playgroud)

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


djn*_*jna 7

我猜是在

$EDITOR $DAILY_FILENAME 
Run Code Online (Sandbox Code Playgroud)

$EDITOR是null,所以它试图执行$DAILY_FILENAME哪个不可执行.可能在您测试时手动设置EDITOR,但没有将其添加到.bashrc(或其他)文件中.

使用该-x选项来证明它.