fix(docker-exec-via-sock): 调整日志输出和命令执行结果的输出方式

This commit is contained in:
严浩
2025-09-23 11:20:36 +08:00
parent 6a270aa1f7
commit 6c27561447

View File

@@ -5,7 +5,7 @@ set -eu
# 示例: ./docker-exec-via-sock.sh --container=my-container --cmd="ls -l /" # 示例: ./docker-exec-via-sock.sh --container=my-container --cmd="ls -l /"
log() { log() {
printf '%s\n' "$(date -u '+%Y-%m-%dT%H:%M:%SZ') $*" printf '%s\n' "$(date -u '+%Y-%m-%dT%H:%M:%SZ') $*" >&2
} }
log_stream() { log_stream() {
@@ -194,11 +194,13 @@ exit_code=$(docker_exec_exit_code "$exec_id")
if [ "$exit_code" = "0" ]; then if [ "$exit_code" = "0" ]; then
log "command finished successfully" log "command finished successfully"
log_stream "output" "$output" # 将纯净的输出打印到 stdout
printf '%s' "$output"
exit 0 exit 0
else else
log "command failed with exit code $exit_code" log "command failed with exit code $exit_code"
log "output from container:" log "output from container:"
printf '%s\n' "$output" # 将错误输出打印到 stderr
printf '%s\n' "$output" >&2
exit "$exit_code" exit "$exit_code"
fi fi