Shell 在日志文件中回显代码的行号

Shell 在日志文件中回显代码的行号,shell,unix,scripting,Shell,Unix,Scripting,在我的脚本中,我使用echo并将文本定向到一个日志文件,如下所示 echo "`date +"%d%m%Y%H%M%S"` The script is running.. " >> $log_File 如何将回音的行号打印到日志文件中 当前在日志文件中: 01032012141215 The script is running.. 在日志文件中,我希望它是: 01032012141215 100 The script is running.. 其中100是脚本中echo的行号您

在我的脚本中,我使用echo并将文本定向到一个日志文件,如下所示

echo "`date +"%d%m%Y%H%M%S"` The script is running.. " >> $log_File
如何将回音的行号打印到日志文件中

当前在日志文件中:

01032012141215 The script is running..
在日志文件中,我希望它是:

01032012141215 100 The script is running..

其中100是脚本中echo的行号

您可以在变量$LINENO中找到当前命令的行号

echo "`date +"%d%m%Y%H%M%S"` $LINENO The script is running.. " >> $log_File

我不确定这是否是POSIX要求,但至少大多数现代Shell都应该提供这个变量(
bash
sure-does)

您可以在变量$LINENO中找到当前命令的行号

echo "`date +"%d%m%Y%H%M%S"` $LINENO The script is running.. " >> $log_File

我不确定这是否是POSIX要求,但至少大多数现代Shell都应该提供这个变量(
bash
sure有)

为什么要使用这种复杂的引号?。您可以执行以下操作:“echo$(日期+%d%m%Y%H%m%S)脚本正在运行…”或仅执行“echo$(日期+%d%m%Y%H%m%S)脚本正在运行…”或完全跳过背景标记并执行以下操作:日期+%d%m%Y%H%m%S | tr-d'\012';echo脚本正在运行..为什么要使用如此复杂的引号?。您可以执行以下操作:“echo$(日期+%d%m%Y%H%m%S)脚本正在运行…”或仅执行“echo$(日期+%d%m%Y%H%m%S)脚本正在运行…”或完全跳过背景标记并执行以下操作:日期+%d%m%Y%H%m%S | tr-d'\012';回显脚本正在运行。。