我有一个问题,就是在〜/ 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
答案 0 :(得分:4)
要将命令的输出分配给变量,请将该命令包装在反引号或$()
中。
RESULT=$(cat $LOGFILE | tail -1)
您的命令执行了环境变量赋值RESULT=cat
,然后在该环境中执行了命令$LOGFILE | tail -1
。由于$LOGFILE
不是可执行文件,因此出现错误。