Bash 脚本返回权限被拒绝的消息

Bash 脚本返回权限被拒绝的消息

当我运行这个脚本时:

#!/bin/bash
# internet-status.sh
# ==================

now=$(date +%F)
cmd_output=$(nc -dzvw1 8.8.8.8 443 2>&1)
logfile_string=$("[$now] $cmd_output")
logfile=$("$HOME/internet.log")
$logfile_string >> "$logfile"

它返回:

/home/xxxx/internet.log: Permission denied

我已经在 internet-status.sh 上运行 chmod u+x

权限如下:

-rw-rw-rw- internet.log-rwxrw-r-- internet-status.sh

答案1

$(...)是一个命令替换

date +%Fnc -dzvw1 8.8.8.8 443 2>&1是命令,"[$now] $cmd_output"并且"$HOME/internet.log"只是字符串 - 并且应该这样分配:

logfile_string="[$now] $cmd_output"
logfile="$HOME/internet.log"

然后您可能希望将echo字符串添加到文件中:

echo "$logfile_string" >> "$logfile"

相关内容