通过 shell 脚本对 cat 的权限被拒绝

Permission denied on cat via shell script

我在 ~/bin/rclone_sync_ACD.log 中的日志文件的 shell 脚本中遇到 运行 cat 问题。这是 shell 脚本中的行:

RESULT=cat $LOGFILE | tail -1

但是当 运行 我得到的脚本:

./rclone_sync: line 63: /Users/pjburnhill/bin/rclone_sync_ACD.log: Permission denied

在终端中,如果我输入 cat $LOGFILE | tail -1,它会给出正确的输出。

脚本需要什么权限才能访问并打印出正确的行?

谢谢, PJ

要将命令的输出分配给变量,请将命令用反引号或 $() 包裹起来。

RESULT=$(cat $LOGFILE | tail -1)

您的命令执行了环境变量赋值 RESULT=cat,然后在该环境中执行了命令 $LOGFILE | tail -1。由于 $LOGFILE 不是可执行文件,因此出现错误。