通过 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
不是可执行文件,因此出现错误。
我在 ~/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
不是可执行文件,因此出现错误。