cat通过shell脚本拒绝权限

时间:2016-10-11 17:05:16

标签: bash macos shell terminal permission-denied

我有一个问题,就是在〜/ 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

1 个答案:

答案 0 :(得分:4)

要将命令的输出分配给变量,请将该命令包装在反引号或$()中。

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

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