Shell 我试图在for循环中运行jobs-l命令,但它只是显示参数,而不是实际值
我试图在循环中运行一个脚本,在每个进程启动后,我给出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
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 &