如何防止bash脚本将所有输出放入一行?

时间:2014-05-29 20:28:20

标签: bash shell echo

我有以下bash脚本top_script.sh

#!/bin/bash
# "Usage: $0 JOBNAME LOGFILE"
JOBNAME=$1
LOGFILE=$2
JOB_OUTPUT=$($1 2>&1)
echo ${JOB_OUTPUT} >> "${LOGFILE}"

应该像这样调用

top_script.sh script_to_run.sh log.txt

如果script_to_run.sh有多个echo语句,例如

echo Line 1 from $0
echo Line 2 from $0

然后我在log.txt得到的是

Line 1 from script_to_run.sh Line 2 from script_to_run.sh

即。所有这些输出都连接成一行。我怀疑原因是上面第一个代码块中的第5行。如何修改它以确保echo

中单独的log.txt打印成单独的行

这并不重要,但如果您想知道,top_script.sh会自动生成一些配置文件。

1 个答案:

答案 0 :(得分:2)

echo "${JOB_OUTPUT}" >> "${LOGFILE}"