通过外壳脚本拒绝对猫的权限

PJ *_*aki 1 macos bash shell terminal permission-denied

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

RESULT=cat $LOGFILE | tail -1
Run Code Online (Sandbox Code Playgroud)

但是当运行脚本时,我得到:

./rclone_sync: line 63: /Users/pjburnhill/bin/rclone_sync_ACD.log: Permission denied
Run Code Online (Sandbox Code Playgroud)

在终端中,如果输入cat $LOGFILE | tail -1,它将提供正确的输出。

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

谢谢,PJ

Bar*_*mar 5

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

RESULT=$(cat $LOGFILE | tail -1)
Run Code Online (Sandbox Code Playgroud)

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