이 스크립트를 실행하면:
#!/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
$(...)
는명령 대체.
And date +%F
및 nc -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"