Shell 我试图在for循环中运行jobs-l命令,但它只是显示参数,而不是实际值

Shell 我试图在for循环中运行jobs-l命令,但它只是显示参数,而不是实际值,shell,unix,scripting,Shell,Unix,Scripting,我试图在循环中运行一个脚本,在每个进程启动后,我给出jobs-l命令,然后我将其捕获到日志中,它显示的只是带有参数的执行命令,而不是实际的参数值,是否有方法将实际参数捕获到日志中 for table_name in `cat exec.lst` ./abc.sh ${table_name} 1>&2 2>>table_name.log & jobs -l | grep abc.sh > ${LOG_DIR}/tables_status.list

我试图在循环中运行一个脚本,在每个进程启动后,我给出jobs-l命令,然后我将其捕获到日志中,它显示的只是带有参数的执行命令,而不是实际的参数值,是否有方法将实际参数捕获到日志中

for table_name in `cat exec.lst`
    ./abc.sh ${table_name} 1>&2 2>>table_name.log &

jobs -l | grep abc.sh > ${LOG_DIR}/tables_status.list 
jobs-l命令的输出:

[1]10283 Done ./abc.sh ${table_name} 1>&2 2>>${LOG_DIR}/${table_name}.log
[2]10323 Done ./abc.sh ${table_name} 1>&2 2>>${LOG_DIR}/${table_name}.log
[3]10362 Done ./abc.sh ${table_name} 1>&2 2>>${LOG_DIR}/${table_name}.log            
[4]10403 Done ./abc.sh ${table_name} 1>&2 2>>${LOG_DIR}/${table_name}.log              
[5]10443 Done ./abc.sh ${table_name} 1>&2 2>>${LOG_DIR}/${table_name}.log              
是否有其他方法可以获取实际表名的信息

预期产出:

[1]10283 Done ./abc.sh table1 1>&2 2>>${LOG_DIR}/table1.log
[2]10323 Done ./abc.sh table2 1>&2 2>>${LOG_DIR}/table2.log
[3]10362 Done ./abc.sh table3 1>&2 2>>${LOG_DIR}/table3.log               
[4]10403 Done ./abc.sh table4 1>&2 2>>${LOG_DIR}/table4.log                  
[5]10443 Done ./abc.sh table5 1>&2 2>>${LOG_DIR}/table5.log
试试这个,我不确定

./abc.sh ${table_name} 2>&1 >> {table_name}.log &